이것은 단지 어휘 문제 일 뿐이지 만 계속 내 머리 속에 돌아가고 있습니다.
LPIC 준비 서적 의 연습 시험에서 비롯됩니다 . 이 책에 따르면 정답 ~/Documents
은 홈 디렉토리에 상대적이므로 상대 디렉토리입니다.
그러나이 책은 오타와 실수가 훌륭하게 포함되어 있기 때문에 거기에 쓰여진 모든 것을 당연하게 받아 들일 수 없습니다. 여기서 나는 ~
쉘에 의해 변수의 내용 $HOME
이나 현재 사용자 홈 디렉토리 경로 (cf. man bash
) 로 확장 된 변수 역할을 하므로 실제 경로 /home/myuser/Documents
는 실제로 절대 디렉토리 이기 때문에 동의하지 않습니다 .
심지어 위키 백과 , 한번, (이 책이 하나 잘못되었는지 확인하려면 보인다하더라도)이 주제에 나에게 어떤 도움이 보인다
절대 또는 전체 경로는 현재 작업 디렉토리에 관계없이 파일 시스템에서 동일한 위치를 가리 킵니다. 그렇게하려면 루트 디렉토리를 포함해야합니다.
반대로 상대 경로는 특정 작업 디렉토리에서 시작하여 전체 절대 경로를 제공 할 필요가 없습니다.
여기서 다시 한 번 동의하지는 않습니다.이 정의에 따르면 /opt/kde3/bin/../lib
현재 작업 디렉토리에 의존하지 않는 경로 는 절대 경로 여야하지만 이에 대한 현재의 이해는이 경로를 상대 경로로 만드는 책의 저자와 일치합니다.
웹스터 사전 에 따르면 빠른 웹 검색이 좌절감을 더하고 있습니다 .
절대 경로 -루트 디렉토리에 상대적인 경로입니다. 첫 문자는 경로 이름 구분자 여야합니다.
그래서 $HOME/Documents
, 또는 단지 $HOME
절대 디렉토리로 간주되지 않을 것이다? 아니면이 정의가 변수 확장을 의미합니까? 껍질의 ~
성격은 어떻습니까? 어딘가에서 찾을 수있는 상대 대 절대 디렉토리에 대한 신뢰할만한 정의가 있습니까?
~/foo
상대 경로 를 부르는 것에 전적으로 동의하지 않습니다 . 당신이 얻는 것은 하드 코딩과 매개 변수화의 차이점입니다. 자세한 내용은 내 답변을 참조하십시오.
~/Documents
와 같은 문자열 $HOME/Documents
이 아니라는 것을 의미 합니다. 확장 후 경로를 식별 (절대)하지만 경로 자체는 아닙니다. 필자는 유닉스 / 리눅스 사용자가이 용어를 사용하는 데 동의하지만 이러한 문자열을 경로 자체라고도합니다.
/
절대 경로라고합니다. 따라서에서 시작 무엇을 모든/
I (이 경우에도 절대 부를 것이다/usr/../etc
)와 모든 다른 내가 전화 할 상대 (~/Doc
,Doc
,../john/Doc
,$HOME/...
, ...). 요점은 현재 작업 디렉토리 또는 현재 사용자에 관계없이 절대적으로 작동해야한다는 것입니다. 상대는 일부 좁은 경우에만 작동 할 수 있습니다.