왜'. '현재 디렉터리를 나타내려면 선택하고 상위 디렉터리를 나타내려면 ".."을 선택하시겠습니까?

왜'. '현재 디렉터리를 나타내려면 선택하고 상위 디렉터리를 나타내려면 ".."을 선택하시겠습니까?

이 질문을 읽은 후홈 디렉토리를 나타내기 위해 "~"를 선택하는 이유는 무엇입니까?, 내 마음 속에 있는 다음 분명한 질문은 "." '..'가 현재 디렉터리와 상위 디렉터리를 나타내는 데 사용되는 이유입니다.

지금은 직관적인 것 같지만 특별한 이유가 있나요?

답변1

물결표 질문만큼 흥미로운 답을 찾을 수 있을지 의문입니다!

나는 거기에 없지만 .. 에 있는 줄임표 (...)와 같습니다 cd ../../../there. 또한 특히 물결표 대소문자가 있는 오래된 터미널 키보드에는 이 목적을 수행하는 문자가 많지 않습니다. 교대 근무도 변경할 필요가 없습니다 .. 이것은 완벽 해요.

파일을 숨기기 위해 점 접두어를 사용하는 또 다른 이유가 있을 수 있습니다. 기본적으로 다음과 같은 ls도구는 중복이란 다른 파일과 함께 고려할 필요가 없다는 것을 의미합니다. 그렇지 않으면 확실히 유용할 것입니다....

내가가능한뒤로...부터위키피디아:

파일 이름 앞에 "."을 붙이는 것은 유닉스 초기에는 소프트웨어 버그의 결과를 숨기기 위한 것이었습니다. 특수 "." 및 ".." 디렉토리 항목이 파일 시스템에 추가되면 ls 명령이 해당 항목을 표시하지 않기로 결정되었습니다. 그러나 ls 프로그램은 이름이 "."인 파일만 제외하는 대신 이름이 "."로 시작하는 파일을 제외하도록 잘못 작성되었습니다. 또는'..'.

이는 프로그래밍할 때 매우 유용합니다. 시스템에 . 및 .. 응답 readdir()유형 명령(및 쉘 glob)이 포함되어 있으므로 이를 무시하고 파일을 숨기는 작업을 동일한 방식으로 수행할 수 있습니다.

다양한 견해이 사용의 가치에 대한 정보는 Wikipedia에서 인용한 참고 자료에서 찾을 수 있습니다.물론 전체 내용이 허구일 수도 있지만...예를 들어 데니스 리치(Dennis Ritchie)가 첫 번째 문자만 확인하는 것이 괜찮다고 생각했다는 것은 조금 믿기 어렵습니다.

나는 작성자의 의견에 동의하지 않습니다. 공통 접두사를 제공하는 것보다 숨겨진 구성 파일을 자체 디렉토리에 넣는 것이 좋습니다. 접두사는 더 유연하여 .gitignore및 같은 트리 내 지시문을 사용할 수 있습니다 .htaccess. 이 유형의 파일은 사전순으로 정렬할 때도 함께 표시됩니다.그럼 결국엔 의도적이었을 수도 있겠네요.

답변2

대부분의 답변은 다음과 관련이 있습니다.스택오버플로우의 @Panos:

간단히 말해서 사용자가 수동으로 만든 ddd( d디렉토리 및 디렉토리의 디렉토리)에서 d발전했습니다 . ~이 되다dd가리키다, 및 는 먼저 유틸리티에 의해 생성된 다음(디렉토리를 연결한 후에는 사용자에게만 더 이상 setuid가 허용되지 않음) 시스템 호출 에 의해 생성 .됩니다 ...mkdirmkdir

에서 발췌켄 톰슨과의 인터뷰(1989-09-06):

게이 남자들: 그러나 사용자에게는 디렉터리 계층 구조와 거의 동일하게 보입니다.

톰슨: 아니요, 첫 번째는 DG입니다. 사실 루프리스도 아닙니다. UNIX 파일 시스템에 대해 알고 계시다면 시스템의 모든 파일에 대한 정의인 I-list가 있다는 것을 아실 것입니다. 이러한 파일 중 일부는 이름과 I 번호만 포함하는 디렉터리입니다. 그것을 나무에만 국한시킬 수 있는 것은 아무것도 없습니다. 실제로는 그렇지 않습니다. 전혀 계층 구조가 없습니다.

게이 남자들: 이해합니다.

톰슨: 우리는 그것을 하나의 트리로 제한하지 않습니다. 다양한 토폴로지를 시도하고 있습니다. 결국 우리가 한 일은 구체적이고 실제로 해당 시스템의 관례인 토폴로지를 강제하는 것이었습니다. 디렉토리를 생성할 때마다 관례에 따라 디렉토리라는 다른 디렉토리 안에 넣습니다.목차 - 목차, 이것은 dd입니다. 이름은 dd이고 모든 사용자 디렉토리와 실제로 대부분의 다른 디렉토리입니다. 사용자는 자신의 디렉토리 시스템을 유지하고 dd에 대한 포인터를 가지며 dd는 다음과 같이 단축됩니다.피어 투 피어, dd는 디렉토리-디렉토리를 의미합니다. 여기에서 스파게티 그릇을 유지 관리하기 위해 시스템의 다른 모든 디렉터리에 액세스할 수 있습니다. 따라서 나는 DG 구현에서 엄격하게 합의된 다양한 형태의 응회암을 언급하고 있으며, 임의의 디렉토리 및 파일 세트가 우리가 유지 관리하는 유형으로 강제됩니다. 파일 시스템 검사기, 스파게티 그릇 디렉토리 잠금, 연결되지 않은 항목 찾기 등의 작업을 시작하면 무언가를 부수고 잃어버렸다는 사실을 알기 때문에 다시는 되찾지 못할 것입니다. 이러한 문제는 거의 극복할 수 없게 되었기 때문에 다음 구현에서는 이보다 더 강력한 유형을 강제했습니다.

관련 정보