NOTA: Esse comportamento é observado por meio de acesso remoto usando SSH.
Percebi que, se eu mudei para um diretório usando um link simbólico, não posso usar a entrada ..
na listagem de diretórios para voltar ao pai e depois aos diretórios subseqüentes. Por exemplo:
/DirA/SymLinkToDirB
/DirA/SomeOtherFile.txt
/DirA/DirB
/DriA/DirC
/DirA/DirB/someFile.txt
Se eu estivesse atualmente em DirA
e emitisse o seguinte comando:
cd SymLinkToDirB
, em seguida, um pwd
subseqüente resolveria /DirA/DirB
, conforme o esperado. No entanto, o seguinte não funcionaria se eu estivesse atualmente em DirB
via symLink.
vim ../SomeOtherFile.txt
ou mesmo cd ../DirC
Além disso, pressionar tab
ao usar cd normalmente listaria os diretórios que um usuário pode percorrer. No entanto, novamente, esse comportamento esperado e observado em uma máquina local também não funciona no SSH.
No entanto, o seguinte funciona se já estivermos em DirB
tendo chegado lá através do symlink: cd ../SymLinkToDirB/
, que é uma ação inútil. Parece que o link simbólico reside dentro de um diretório (seu pai) por si próprio.
Sem dúvida, isso tem a ver com o modo como os links simbólicos são tratados no SSH. Qual é o mecanismo pelo qual os links simbólicos são manipulados via SSH que oferece esse comportamento?