¿Por qué /var/mail/{nombre de usuario} = /Usuarios/{nombre de usuario}?

¿Por qué /var/mail/{nombre de usuario} = /Usuarios/{nombre de usuario}?

Mi pregunta básica es ¿por qué ambos caminos apuntan a casa (es decir, ~)? ¿Apunta a la misma casa o está duplicada?

Dudo que esté duplicado, así que si no, ¿cómo cd ..decide a qué directorio llevarme de regreso?

Respuesta1

El cd ..comportamiento dependerá del shell, la configuración del shell y de si (como es probable en este caso) hay enlaces simbólicos involucrados.

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$ 

La investigación del /var/maildirectorio lsdebería revelar si hay algún enlace simbólico realizado, supongo, por Apple.

Respuesta2

En macOS (que supongo que es porque mencionas /Users), /var/mail/usernamees el mboxbuzón de la bandeja de entrada formateado para el usuario usernamey /Users/usernamees el directorio de inicio para el mismo usuario.

En una instalación normal y no modificada de macOS /var/mail/username,noserá un enlace simbólico al directorio de inicio del usuario, ni será /Users/usernameun enlace a /var/mail/username.


cd ..funcionará de forma predeterminada como cd -L .., es decir, lo llevará hasta ellógicodirectorio principal en lugar delfísicodirectorio de padres ( cd -P ..).

Del kshmanual en macOS:

De forma predeterminada, los nombres de enlaces simbólicos se tratan literalmente al encontrar el nombre del directorio. Esto es equivalente a la -Lopción. La -Popción hace que los enlaces simbólicos se resuelvan al determinar el directorio. La última instancia de -Lo -Pen la línea de comando determina qué método se utiliza.

información relacionada