
Minha pergunta básica é por que esses dois caminhos apontam para casa (ou seja, ~
)? Está apontando para a mesma casa ou está duplicado?
Duvido que esteja duplicado, então, se não, como cd ..
decidir para qual diretório me levar de volta?
Responder1
O cd ..
comportamento dependerá do shell, das configurações do shell e se (como é provável neste caso) links simbólicos estão envolvidos.
bash-4.1$ cd /var/tmp
bash-4.1$ mkdir -p real/cats
bash-4.1$ ln -s real/cats dogs
bash-4.1$ cd dogs/
bash-4.1$ pwd
/var/tmp/dogs
bash-4.1$ pwd -P
/var/tmp/real/cats
bash-4.1$ cd ..
bash-4.1$ pwd
/var/tmp
bash-4.1$ set -o physical
bash-4.1$ cd dogs
bash-4.1$ pwd
/var/tmp/real/cats
bash-4.1$ cd ..
bash-4.1$ pwd
/var/tmp/real
bash-4.1$
Investigar o /var/mail
diretório ls
deve revelar se há algum link simbólico feito pela Apple, acho.
Responder2
No macOS (suponho que seja desde que você mencionou /Users
), /var/mail/username
é a mbox
caixa de entrada formatada para user username
e /Users/username
é o diretório inicial do mesmo usuário.
Em uma instalação comum e não modificada do macOS /var/mail/username
,nãoserá um link simbólico para o diretório inicial do usuário, nem será /Users/username
um link para /var/mail/username
.
cd ..
por padrão funcionará como cd -L ..
, ou seja, levará você até ológicodiretório pai em vez dofísicoDiretório Parental ( cd -P ..
).
Do ksh
-manual no macOS:
Por padrão, os nomes dos links simbólicos são tratados literalmente ao encontrar o nome do diretório. Isso é equivalente à
-L
opção. A-P
opção faz com que os links simbólicos sejam resolvidos na determinação do diretório. A última instância de-L
ou-P
na linha de comando determina qual método é usado.