소프트 링크를 통해 디렉토리에 CD를 넣으면 다음과 같은 결과가 나타납니다.
ls ..
링크된 디렉터리의 상위 디렉터리 내용이 표시되고,cd ..
소프트 링크의 상위 디렉터리 내용이 표시됩니다. 왜 다른가요?cd ..
다음 탭은 완료 옵션을 제공하지 않으며 링크된 디렉토리의 상위 디렉토리 내용이나 소프트 링크의 상위 디렉토리 내용도 제공하지 않습니다. 왜 그럴까요?위의 경우 모든 디렉토리 명령 중 어떤 명령이 연결된 디렉토리나 해당 소프트 링크에 적용되는지 어떻게 알 수 있습니까?
답변1
왜냐하면 bash(및 아마도 다른 쉘)는 역추적을 하강처럼 보이게 만들기 위해 심볼릭 링크를 포함하여 하강 경로를 추적하기 때문입니다.
cd
Bash는 작업 디렉토리 가 내장 쉘이어야 하기 때문에 작업 디렉토리에 어떻게 접근했는지 알고 있습니다 . ls ..
쉘을 실행할 때 "기호 경로" grep ..
는 유효하고 번역이 ..
매우 혼란스럽기 때문에 바꿀 수 없습니다.
사실, 쉘에는 현재 두 가지 해석이 있는데, ..
둘 다 전혀 도움이 되지 않는 것처럼 혼란스럽습니다.