나는 지난 한 시간 동안 뭔가 관련이 있는 속성의 이름을 지정하는 방법에 대해 생각했습니다."해결된 물리적 참 경로".
/foo/bar/
예를 들어 일반적인 물리적 경로를 가정해 보겠습니다 . 가리키는 심볼릭 링크 만 만드는 경우 /quux
"심볼릭 링크 경로"를 통해 /foo
액세스되는 모든 것을 참조하는 것이 적절한가요 ?/quux/foo/bar/
해결되지 않은 경로 이름을 참조하는 더 정확한 방법이 있는지 확실하지 않기 때문에 이는 대부분 명명법에 대한 질문입니다. 나는 "작업 경로"를 사용하고 싶지만 이 용어는 너무 프로세스 특정적으로 들립니다.
컨텍스트가 필요한 경우 파일 시스템 API에 사용됩니다. 여기서 루틴은 경로가 완전히 물리적이지 않은 리소스에 대해 추가 시스템 호출을 수행해야 하는지 여부를 결정합니다.
답변1
만약 당신이 정말로 현명해지고 싶다면, 당신은 거절할 수도 있습니다진짜"물리적 경로"와 같은 것입니다. 유닉스는
절대 경로명:
<slash>
단일 또는 2개 이상의 문자로 시작하는 경로명입니다.상대 경로 이름: 문자로 시작하지 않는 경로 이름입니다
<slash>
.
경로 이름에 심볼릭 링크가 포함되어 있으면 여전히 "경로 이름"입니다. POSIX 표준에는 다른 용어가 없습니다.
그러나 pwd
유틸리티에는 두 개의 로고가 있으며 -P
다음 -L
문자를 나타내는 약어는 없습니다.
-L
환경 변수에 현재 디렉터리에 대한 절대 경로 이름이 포함되어 있고
PWD
해당 경로 이름에 점 또는 점-점 구성 요소가 포함되어 있지 않은 경우 환경 변수가 지정되지 않은 종료 null을 포함하는 바이트 보다 길지pwd
않는 한 이 경로 이름은 표준 출력에 기록됩니다. pwd 이 경로 이름을 표준 출력에 쓸지 아니면 이 옵션이 지정된 것처럼 동작할지 여부입니다. 그렇지 않으면 옵션이 이 옵션 처럼 작동해야 합니다 .PWD
{PATH_MAX}
-P
-L
-P
-P
표준 출력에 기록된 경로 이름에는 기호 링크 유형 파일을 참조하는 구성 요소가 포함되어서는 안 됩니다. 유틸리티가
pwd
표준 출력에 여러 경로 이름을 쓸 수 있는 경우(하나는<slash>
단일 문자로 시작하고 하나 이상은 두 문자로 시작) 단일 문자로 시작하는 경로 이름을<slash>
씁니다 .<slash>
경로 이름에는<slash>
앞의 한두 문자 뒤에 불필요한 문자가 포함되어서는 안 됩니다<slash>
.
물론 그 의미도 유추할 수 있다.논리그리고물리적이 두 플래그와 유틸리티의 GNU coreutils 버전은 이 두 단어를 긴 옵션으로 처리합니다.
따라서 대답은 "논리적 경로"입니다.
답변2
그 중 일부는 명시적이기보다는 구어체에 가깝습니다. 하지만 다음과 같습니다.
원본 파일이나 링크가 이동되었는지 여부에 관계없이 링크가 항상 파일을 가리키는 경우 Alias
(별칭을 사용하여 파일과 디렉터리를 읽을 수 있지만 원본 파일과 디렉터리에 쓸 수는 없음)
Soft Link
링크를 이동할 수 있지만 파일을 이동할 수 없고 링크를 통해 링크된 파일/디렉터리에서 데이터를 읽을 수 있지만 쓸 수 없는 경우 , 또는 을 사용해야 합니다 Symlink
.Shortcut
링크와 대상이 모두 이동 가능하고 링크를 통해 파일/디렉토리에서 데이터를 읽거나 쓸 수 있는 경우에 사용해야 합니다 Hard Link
.
예를 들어, 링크에 액세스하면 Symlink/Soft Link
시스템은 . /foo/bar/
An은 읽을 때 액세스하지만 Alias
쓸 때는 액세스하지 않으며, 쓰고 읽을 때는 액세스합니다 ./quux/foo/bar/
/foo/bar/
Hard Link
/quux/foo/bar/