일반적으로 모든 Linux 명령은 소문자이지만 그렇지 않습니다.MAKEDEV
스크립트(대문자) 이에 대한 이유가 있습니까?
답변1
Linux는 기존 Unix에서 이 스크립트를 차용했을 가능성이 높습니다.
내가 찾을 수 있었던 이 스크립트의 가장 초기 버전은/dev/MAKE
BSD 4에서, 1980년쯤이었던 것 같아요. 장치 파일을 생성하기 때문에 분명히 그렇게 명명되었습니다. 이름의 대문자는 장치 파일 자체와 구별하기 위한 것일 수 있지만 이는 단지 추측일 뿐입니다.
이전에는 아래와 같이 장치 파일이 실제 Makefile로 만들어진 것 같았습니다.Bell Labs Research V7 스냅샷(1979)/dev
, 이전에는 계층 구조가 존재하는지 확신하지 못했습니다 .
BSD 4.1(1982)의 경우 이 스크립트는아직도 전화했어/dev/MAKE
, 그러나 BSD 4.1c_2(1983)에서는/dev/MAKEDEV.local
스크립트가 이미 존재하는 것 같습니다.몇 가지 설명. /dev/MAKEDEV
그에 따른 스크립트 가 있는지는 불분명합니다 .
BSD 4.4 Lite2 버전(저장소에 따르면 1995년이지만 파일 자체의 SCCS 타임스탬프에 표시됨 8.1 (Berkeley) 6/9/93
)에서 스크립트와 최종 이름을 볼 수 있습니다./dev/MAKEDEV
및 일부 시스템별 MAKEDEV
스크립트. 현재 Linux 측에는 동일한 이름의 스크립트가 이미 존재합니다(스티븐 키트가 언급했듯이).
답변2
내가 아는 한, MAKEDEV
Linux의 역사는 다음과 같습니다.
- 1992년 3월 Jim Winstead가 설치 보조원을 추가했습니다.버전 0.95a그의 루트 플로피는
/INSTALL/mkdev
; - 1992년 7월에 이렇게
/dev/MAKEDEV
되었다.버전 0.96루트 플로피; - 1993년 12월까지 Nick Holloway는 전용 기사에서 이에 대해 확장했습니다.MAKEDEV 프로젝트(버전 1.2는 최초로 공개적으로 출시된 버전인 것으로 보입니다).
따라서 스크립트 이름의 핵심은 /INSTALL/mkdev
에서 로 전환하는 것 입니다 /dev/MAKEDEV
. 장치 노드 이름과의 잠재적인 혼동 및 네임스페이스 충돌을 피하기 위해 대문자인 것 같습니다. 왜냐하면 장치 노드 이름은 (항상?) 소문자로 시작하기 때문입니다. 이는 FHS 이전이었고 바이너리가 다양한 위치(포함 /etc
)에 존재했기 때문에 장치 노드 생성 스크립트를 갖는 것이 /dev
충분히 합리적이었습니다.