Eu tenho um link simbólico
~/link -> ~/a/really/long/path
Quando eu faço
cd ~/link
cd ..
isso me leva a
~
mas eu quero ir para
~/a/really/long
Existe uma maneira de fazer isso?
Estou usando o bash.
bash
cd-command
Xodarap
fonte
fonte
cd ~/a/really/long/path
entãocd ..
coloca você no~
momento? Eu não posso reproduzir isso.~/a/really/long/path
CD e depois para o CD..
. Você deve voltar ao ~ (assumindo que foi onde começou).Respostas:
O Bash (assim como o ksh, zsh e até o ash) rastreia as alterações no diretório, para que
cd /foo/bar && cd ..
você sempre o leve até/foo
mesmo sebar
for um link simbólico. Passe a-P
opção paracd
ignorar a alteração rastreada e siga a estrutura de diretórios "físico":Consulte
help cd
ouman builtins
para obter documentação sobre o bash embutidocd
. Se você realmente não gosta do recurso de rastreamento de diretório, pode desativá-loset -P
no bash (set -o no_chase_link
no zsh).fonte
-P
ou-o physical
já?Você também pode usar o readlink para encontrar o caminho físico para este diretório e, em seguida, vá um diretório mais alto:
fonte
Um método que você pode usar é usar um alias em vez de um link simbólico para levá-lo ao caminho ~ / a / really / long /. Esse é o método que eu uso, desde então eu posso apenas digitar um simples comando 1/2 / et cetera letter em vez de cd symlink
fonte