~
나의 기본적인 질문은 왜 두 경로가 모두 홈(즉 ) 을 가리키는가 하는 것입니다 . 동일한 집을 가리키나요, 아니면 중복인가요?
중복된 것으로 의심됩니다. 그렇지 않은 경우 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
디렉토리를 조사하면 ls
Apple에서 수행한 심볼릭 링크가 있는지 확인할 수 있습니다.
답변2
macOS에서는(당신이 언급한 내용으로 인해 추측됩니다 /Users
) /var/mail/username
이는 mbox
사용자의 형식이 지정된 받은 편지함 사서함 username
이며 /Users/username
동일한 사용자의 홈 디렉터리입니다.
/var/mail/username
수정되지 않은 기본 macOS 설치에서는아니요은(는) 사용자의 홈 디렉토리나 /Users/username
에 대한 심볼릭 링크입니다 /var/mail/username
.
cd ..
기본적으로 다음과 같이 작동합니다 cd -L ..
.논리적대신 상위 디렉토리물리적상위 디렉터리( cd -P ..
).
ksh
macOS 설명서 에서 :
기본적으로 기호 링크 이름은 디렉토리 이름을 검색할 때 문자 그대로 처리됩니다. 이는
-L
옵션에 해당합니다. 이-P
옵션을 사용하면 디렉토리를 결정할 때 기호 링크가 확인됩니다. 또는 명령줄-L
의 마지막 인스턴스 에 따라 사용되는 방법이 결정됩니다.-P