/var/mail/{username} = /Users/{username}인 이유는 무엇입니까?

/var/mail/{username} = /Users/{username}인 이유는 무엇입니까?

~나의 기본적인 질문은 왜 두 경로가 모두 홈(즉 ) 을 가리키는가 하는 것입니다 . 동일한 집을 가리키나요, 아니면 중복인가요?

중복된 것으로 의심됩니다. 그렇지 않은 경우 cd ..다시 가져올 디렉토리를 어떻게 결정합니까?

답변1

동작은 cd ..셸, 셸 설정 및 심볼릭 링크 관련 여부(이 경우 그럴 가능성이 높음)에 따라 달라집니다.

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$ 

/var/mail디렉토리를 조사하면 lsApple에서 수행한 심볼릭 링크가 있는지 확인할 수 있습니다.

답변2

macOS에서는(당신이 언급한 내용으로 인해 추측됩니다 /Users) /var/mail/username이는 mbox사용자의 형식이 지정된 받은 편지함 사서함 username이며 /Users/username동일한 사용자의 홈 디렉터리입니다.

/var/mail/username수정되지 않은 기본 macOS 설치에서는아니요은(는) 사용자의 홈 디렉토리나 /Users/username에 대한 심볼릭 링크입니다 /var/mail/username.


cd ..기본적으로 다음과 같이 작동합니다 cd -L ...논리적대신 상위 디렉토리물리적상위 디렉터리( cd -P ..).

kshmacOS 설명서 에서 :

기본적으로 기호 링크 이름은 디렉토리 이름을 검색할 때 문자 그대로 처리됩니다. 이는 -L옵션에 해당합니다. 이 -P옵션을 사용하면 디렉토리를 결정할 때 기호 링크가 확인됩니다. 또는 명령줄 -L의 마지막 인스턴스 에 따라 사용되는 방법이 결정됩니다.-P

관련 정보