Tanto cd
como pwd
têm sinalizadores para usar a estrutura de diretórios físicos.
cd
$ cd --help
...
-P use the physical directory structure without following
symbolic links: resolve symbolic links in DIR before
processing instances of '..'
...
, por exemplo
$ cd /var/tmp
$ ln -s /home/user test
$ cd -P test
$ pwd
/home/user
Acima, usamos cd -P
para usar a estrutura de diretórios físicos, portanto, agora pwd
nos fornece o caminho físico.
pwd
$ pwd
...
-P print the physical directory, without any symbolic links
...
por exemplo
$ cd /var/tmp
$ ln -s /home/user test
$ cd test
$ pwd
/var/tmp/test
$ pwd -P
/home/user
Acima, nós cd
'd no diretório como normal, então pwd
fornece o caminho simbólico. Usar pwd -P
fornecerá o caminho físico.
Definir globalmente no bash
Se você estiver usando bash
, você pode dizer para ignorar completamente os links simbólicos e apenas usar a estrutura de diretórios físicos executando set -P
(abreviação de set -o physical
, consulte a 'página man bash). Isso provavelmente é possível com outras camadas também.