'umount'의 철자가 'unmount'가 아닌 이유는 무엇입니까?


64

나는 umount명령이없는 역사적 또는 실제적인 이유가 있는지 궁금합니다 unmount.

답변:


79

버전은 파일 이름에서 passwd무려 8자를 지원하더라도 모든 표준 파일 이름은 최대 6 자 (생각 ) 만 남은 Unix 초판 으로 거슬러 올라갑니다 . 대부분의 명령에는 관련 소스 파일이 .c(예 :)로 끝나서 umount.c기본 이름으로 6 자만 남았습니다.

6 자 제한 사항은 이전 개발 버전에서 보류되었거나 6 자 제한 사항이있는 당시 IBM 시스템에서 상속되었을 수도 있습니다. (초기 C 구현은 식별자에 6 자 제한했다 - 긴 식별자는 허용하지만, 컴파일러는 그래서, 처음 6 자 보았다되었다 foobar1foobar2. 같은 변수했다)를

(나는 umount철자를 알 수없는 버그로 나열한 매뉴얼 페이지를 기억한다고 생각 했지만 지금은 찾을 수 없습니다.)


21
6 자 명령 이름 + .c(또는 .s) 확장자 = 8 자 파일 이름 제한
geekosaur

@geekosaur : 아, 맞습니다. 소스 파일입니다. 답을 쓰면 삭제하겠습니다.
Gilles

5
Enh, 원한다면 주석을 달아주세요.
geekosaur

@geekosaur : man 페이지도 생각했지만 V1에는 man 명령이 없었습니다 (man 페이지 중 하나는 directory아직 호출 되지 않았습니다). 그래서 왜 passwd6 자로 잘 렸는지 궁금 합니다 ( passwd아직 명령 이 없었습니다 /etc/passwd).
Gilles

2
어쩌면 그것은 "아니오"를 의미하는 그리스어 οὐ 접미사 때문일 수도 있습니다.urandom
Anthony Garcia

8

한동안 여기에 약간의 잘못된 정보가 앉아있는 것 같습니다.

umount축약 된 이름을 가진 명령 의 가장 큰 이유는 명령이 사용하는 시스템 호출의 이름을 따르기 때문 umount()입니다.

이름 umount()이 "unmount"시스템 호출 인 초기 이유는 일부 유형의 시스템에서 초기 링커가 외부 식별자의 길이를 6 자 (한 경우에 한해)로 제한했기 때문입니다 (그리고 이러한 도구와의 호환성을 유지하는 것이 합리적 이었기 때문입니다) "umount"는 "unmount"에 대한 논리적 약어입니다. 출판 당시 다양한 관심 시스템의 외부 식별자 특성 목록은 C 프로그래밍 언어 초판 179 페이지를 참조하십시오 .

초기 C 컴파일러는 식별자의 처음 8자를 중요한 것으로 취급했지만 식별자는 더 길어질 수 있습니다. (K & R 33 페이지)

심볼 테이블의 식별자의 길이가주지 않습니다 아무것도 , V1 때문에, 적어도 유닉스 (UNIX 기호 테이블 내에서, 파일 이름 길이가 직접 할 수있는 무엇이든지 그것을이 V1 설명서에 언급되어 있지만, 식별자 8 개 문자가 그 어셈블러 " 최대 7 바이트의 기호를 생성합니다 " ).


-1

같은 이유로 creat시스템 호출에 철자가 create없습니까?

https://stackoverflow.com/questions/1713457/what-did-ken-thompson-mean-when-he-said-id-spell-create-with-an-e


4
아니. 인용 한 인용에 대한 후회는 다른 답변에서 6 문자 제한이 논쟁되고 있지만 'e'를 추가 할 수 있기 때문입니다. umount와 달리 잘릴 이유가 없습니다.
워렌 영

그 당시에는 가능하다면 편지를 자르는 것이 전통이라고 생각합니다.
Shadur
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.