답변:
이 버전은 파일 이름에서 passwd
무려 8자를 지원하더라도 모든 표준 파일 이름은 최대 6 자 (생각 ) 만 남은 Unix 초판 으로 거슬러 올라갑니다 . 대부분의 명령에는 관련 소스 파일이 .c
(예 :)로 끝나서 umount.c
기본 이름으로 6 자만 남았습니다.
6 자 제한 사항은 이전 개발 버전에서 보류되었거나 6 자 제한 사항이있는 당시 IBM 시스템에서 상속되었을 수도 있습니다. (초기 C 구현은 식별자에 6 자 제한했다 - 긴 식별자는 허용하지만, 컴파일러는 그래서, 처음 6 자 보았다되었다 foobar1
와 foobar2
. 같은 변수했다)를
(나는 umount
철자를 알 수없는 버그로 나열한 매뉴얼 페이지를 기억한다고 생각 했지만 지금은 찾을 수 없습니다.)
directory
아직 호출 되지 않았습니다). 그래서 왜 passwd
6 자로 잘 렸는지 궁금 합니다 ( passwd
아직 명령 이 없었습니다 /etc/passwd
).
urandom
한동안 여기에 약간의 잘못된 정보가 앉아있는 것 같습니다.
umount
축약 된 이름을 가진 명령 의 가장 큰 이유는 명령이 사용하는 시스템 호출의 이름을 따르기 때문 umount()
입니다.
이름 umount()
이 "unmount"시스템 호출 인 초기 이유는 일부 유형의 시스템에서 초기 링커가 외부 식별자의 길이를 6 자 (한 경우에 한해)로 제한했기 때문입니다 (그리고 이러한 도구와의 호환성을 유지하는 것이 합리적 이었기 때문입니다) "umount"는 "unmount"에 대한 논리적 약어입니다. 출판 당시 다양한 관심 시스템의 외부 식별자 특성 목록은 C 프로그래밍 언어 초판 179 페이지를 참조하십시오 .
초기 C 컴파일러는 식별자의 처음 8자를 중요한 것으로 취급했지만 식별자는 더 길어질 수 있습니다. (K & R 33 페이지)
심볼 테이블의 식별자의 길이가주지 않습니다 아무것도 , V1 때문에, 적어도 유닉스 (UNIX 기호 테이블 내에서, 파일 이름 길이가 직접 할 수있는 무엇이든지 그것을이 V1 설명서에 언급되어 있지만, 식별자 8 개 문자가 그 어셈블러 " 최대 7 바이트의 기호를 생성합니다 " ).
.c
(또는.s
) 확장자 = 8 자 파일 이름 제한