'..'은(는) 정확히 무엇을 의미하나요?

'..'은(는) 정확히 무엇을 의미하나요?
  1. 센토스 버전: 8.5.2111
  2. 현재 비밀번호는 다음과 같습니다./tmp/new/
  3. /home/chenchen/Videos/와 사이에 소프트 링크를 만들어야 합니다 ./tmp/softlink
  4. 이것은 내 명령입니다:ln -s /home/chenchen/Videos/ ../softlink
  5. 결과: 이 소프트 링크는 다음에 /home/chenchen/softlink나타나는 것으로 생각됩니다./tmp/softlink
  6. 분명히 ' ..'는 /home/chenchenstep.4 명령에서 for를 나타냅니다.
  7. 그러나 다음을 사용하면 double-tab이 순간에 일부 파일이 표시 ln -s /home/chenchen/Videos/ ../ 됩니다 ./tmp/../tmp
  8. ..Q: 거의 동일한 명령이 step4와 step7에서 다른 의미를 갖는 이유는 무엇입니까?

답변1

이것이 다른 의미를 갖는 것이 아니라 단지 쉘이 이를 잘못 ..해석한 것일 뿐입니다 ...

여기서 문제는 쉘이 사용자가 있는 디렉토리를 알고 있다고 생각하지만 쉘의 pwd에 있는 경로 중 하나가 심볼릭 링크이고 ..해당 심볼릭 링크가 통과되는 경우 쉘은 경로 구성 요소를 제거하여 새 디렉토리를 생성하지만 이는 실제로 정확하지 않을 수 있으며 실제 순회에서는 ..다른 결과가 나타납니다.

내장 셸의 출력과 외부 .shell의 출력을 비교하면 pwd이를 더 직접적으로 확인할 수 있습니다 /bin/pwd. Bash에서는 쉘 내장 기능을 사용하여 pwd -P실제 경로를 얻을 수도 있습니다.

관련 정보