por padrão ~
é dado o valor de/home/username/
ou seja, se eu usar o comando, cd ~
ele vai para o diretório/home/username/
Como alterar o valor dele para algum outro arquivo como/home/username/filename?
Eu sei que isso pode ser perigoso, mas estou trabalhando em um CTF, então está tudo bem.
Responder1
O til (~) é interpretado pelo seu shell, como uma forma abreviada de
$HOME
.Experimente os seguintes comandos:
echo ~ HOME=foo echo ~
Isso deve primeiro imprimir seu diretório inicial real e depois "foo", conforme você define $HOME` para isso.
O valor padrão
$HOME
vem da configuração do seu sistema. Usegetent passwd
para listar todos os usuários conhecidos e seus diretórios pessoais. Dependendo da configuração do seu sistema, essas entradas podem vir de/etc/passwd
ou de qualquer serviço de diretório remoto.Se você quiser redefinir temporariamente seu diretório inicial, basta definir outro arquivo
$HOME
.Se você quiser alterá-lo permanentemente, você terá que alterar a entrada da senha, por exemplo, editando manualmente o arquivo
/etc/passwd
.
Responder2
Tente alterar a $HOME
variável, porque til ( ~
) é uma forma abreviada de $HOME
, ou altere o diretório inicial do usuário, /etc/passwd
mas isso não é recomendado.
Por que você não tenta fazer eapelidopara cd /home/username/filename
assim:
alias documents='cd ~/Documents'
Agora, quando você digita, documents
ele muda para/home/user/Documents
Mais informações emman alias
.
Para tornar esse alias permanente,verifique esta pergunta.