경로 이름에 점

경로 이름에 점

실행 중인 응용 프로그램에서 오류가 발생했습니다.

오류는 다음과 같습니다.

john@john-replacement:~/Desktop/yarbu-1.4.8/bin$ sudo yarbu-engine --VERBOSE
/usr/local/bin/yarbu-engine: line 996: cd: /usr/local/bin/../../etc/yarbu/conf/default: No such file or directory

점은 무엇을 의미하나요 /usr/local/bin/../../etc/?

답변1

이것은 ../"상위 디렉토리"에 대한 표기법이므로 제안된 경우는 다음과 같습니다.

/usr/local/bin/../../etc/yarbu/conf/default

시스템은 이 문제를 다음과 같이 해결합니다.

/usr/etc/yarbu/conf/default

이는 마치 디렉토리에 있었고 두 번 /usr/local/bin입력한 후 이제 디렉토리 cd ..에 있는 것과 같습니다./usr

이를 직접 확인할 수 있습니다.

$ cd /usr/local/bin
$ pwd
/usr/local/bin
$ cd /usr/local/bin/../../../
$ pwd
/

답변2

Gabe의 답변 외에도 이것도 좋습니다.

유닉스 명령 readlink는 항상 파일이나 디렉터리의 실제 경로를 반환합니다. readlink -f /usr/local/bin/../../etc/는 반환합니다 /usr/etc/.

이 명령은 기호 링크도 확인합니다. 예를 들어 내 시스템에서는 readlink -f /usr/bin/javareturn 입니다 /usr/lib/jvm/jdk-7.15-oracle-x64/jre/bin/java. 두 사용 사례 모두 스크립트에 매우 유용합니다.

참고: ( ..또한 .현재 있는 디렉토리를 참조)는아니요UNIX 전용. 동일한 작업은 적어도 모든 dos/windows, mac, linux/unix/bsd 기반 운영 체제에도 적용됩니다.

관련 정보