왜 '.' 현재 디렉토리를 나타내도록 선택하고 상위 디렉토리에 대해 '..'?


32

이 질문을 읽은 후 왜 홈 디렉토리를 나타 내기 위해 '~'가 선택 되었습니까? , 내 마음에 대한 다음 분명한 질문은 왜 '.' '..'는 현재 디렉토리와 상위 디렉토리를 나타내는 데 사용되었습니다.

지금은 너무 직관적 인 것처럼 보이지만 특별한 이유는 무엇입니까?


10
그 질문에 대한 답변과 SO 답변
Stéphane Chazelas

답변:


16

나는 당신이 물결표 질문에 대한 흥미로운 답변을 찾을 것이라고 의심합니다!

나는 거기에 없었지만 ..은 말줄임표 (...)와 같으며 이는 문맥에서 의미가 있습니다 cd ../../../there. 또한, 특히 틸드 케이스에서 오래된 터미널 키보드를 보면이 목적에 적합한 문자가 많지 않습니다. 를 위해 이동할 필요도 없습니다 .. 그것은 완벽.

숨겨진 파일에 점 접두사가 사용된다는 사실이 또 다른 이유 일 수 있습니다. 숨겨진 파일은 기본적으로와 같은 도구에 의해 나열되지 않으므로 기본적 ls으로 중복되는 파일 .... 다른 파일과 함께 고려할 필요가 없다는 점에서 중복됩니다. 다른 방법으로는 유용합니다.

그것은 wikipedia 에서 거꾸로 가질 있습니다 .

파일 이름 앞에 '.'이 붙는 개념 유닉스 초기의 소프트웨어 버그로 인해 숨겨져 있어야합니다. 특별한 때 '.' 그리고 '..'디렉토리 항목이 파일 시스템에 추가되었으므로 ls 명령이 해당 항목을 표시하지 않기로 결정했습니다. 그러나 ls 프로그램은 이름이 '.'인 파일이 아니라 '.'로 시작하는 파일을 제외하도록 실수로 작성되었습니다. 또는 '..'.

이것은 프로그래밍 할 때 유용한 것으로 판명되었습니다. 시스템에 포함되어 있기 때문입니다. .. readdir()유형 명령 (및 쉘 글로브) 에 대한 응답으로 이들을 무시하고 숨겨진 파일을 같은 방식으로 수행 할 수 있습니다.

다른 의견 이 사용 가치에 대한 위키 피 디아 인용에 대한 참조입니다. 물론, 전체 이야기는 외경 일 수 있습니다 ... 예를 들어 Dennis Ritchie는 첫 번째 캐릭터를 확인하는 것이 괜찮을 것이라고 생각하기가 조금 어렵습니다.

저자 vis에 동의하지 않습니다. 숨겨진 구성 파일을 범용 접두사를 부여하는 대신 자신의 디렉토리에 두는 것이 좋습니다. 접두사는 훨씬 유연하여 .gitignoreand와 같은 트리 내 지시문을 허용합니다 .htaccess. 사전 순으로 정렬 할 때 해당 파일이 함께 표시된다는 사실을 목격하십시오. 따라서 아마도 이것은 의도적으로 이루어진 것일 수 있습니다.


2

stackoverflow에서 @Panos 와 거의 동일한 대답 :

요컨대, 그것은 사용자에 의해 손으로 만들어졌고 d, dd( d무거움과 d거처의 d거처) 에서 진화했습니다 . d , 그 ...에 의해 처음 만들어진 mkdir(더 이상 단순한 사용자에 의해 허용 된 디렉토리를 연결 한 후에 대해 setuid) 유틸리티 나중에에 의한 mkdir 시스템 호출.

Ken Thompson (1989-09-06) 인터뷰 에서 발췌 :

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

톰슨 : 아니요. 첫 번째는 DG였습니다. 사실, 그것은 비주기 적이지도 않았습니다. 유닉스 파일 시스템을 이해했다면, 시스템에있는 모든 파일의 정의 인 I- 목록이있었습니다. 그리고 그 파일 중 일부는 이름과 I- 번호를 포함하는 디렉토리였습니다. 거기에 나무를 구속하는 것은 없습니다. 그래서 그것은 실제로 계층 적이 지 않았습니다.

MSM : 알겠습니다 .

톰슨 : 그리고 우리는 그것을 나무에 구속하지 않았습니다. 우리는 다양한 토폴로지를 실험하고있었습니다. 우리가했던 것은 구체적으로 바뀌고 실제로 그 시스템의 규칙에 의해 제공된 토폴로지라는 토폴로지를 강요하는 것입니다. The ... 우리가 디렉토리를 만들 때마다, 관례 적으로 우리는 directory-directory 라는 다른 디렉토리 에 dd를 넣었습니다 . 그 이름은 dd 였고 모든 사용자 디렉토리와 실제로 대부분의 다른 디렉토리는 사용자가 자신의 디렉토리 시스템을 유지하고 포인터를 dd로 되돌 렸으며 dd는 점으로 짧아졌습니다., dd는 디렉토리 디렉토리입니다. 그것은이 스파게티 보울을 유지하기 위해 시스템의 다른 모든 디렉토리로 갈 수있는 곳이었습니다. 따라서이 형태의 응회암은 다양한 형태의 의미를 지니고 있습니다. 이것은 DG의 임의의 디렉토리 세트와 파일 구현에서 엄격하게 관례였으며 우리가 유지 한 유형학으로 강제되었습니다. 프로그램과 물건을 검사하는 파일 시스템, 스파게티 보울 디렉토리의 잠금 및 분리 된 물건 찾기와 같은 것을 작성하기 시작했을 때, 나는 당신이 그것을 잃어 버렸다는 것을 알고 있기 때문에 무언가를 싫어하고 다시는 가져 오지 않을 것임을 의미합니다. 이러한 문제는 극복 할 수없는 수준에 가까워졌으며, 다음 구현에서 우리는 그보다 더 타이포그래피를 강요했습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.