문자 또는 블록 파일 크기가 쉼표로 구분되는 이유는 무엇입니까?
crw-rw-rw-. 1 root root 1, 3 Mar 8 10:15 /dev/null
brw-rw----. 1 root disk 8, 1 Mar 8 10:15 /dev/sda1
파일 크기는 저장 장치에서 차지하는 바이트 수를 나타냅니다. 캐릭터 파일이나 블록 파일의 경우 크기는 어떻게 되나요? 쉼표를 사용하는 것이 무엇을 의미하는지 설명해 주실 수 있나요?
답변1
이 값은 어떤 방식으로든 크기를 나타내지는 않지만 일종의 장치 식별을 참조합니다.
Linux 문서 프로젝트 보기페이지,그들은 말했다:
장치는 "블록" 또는 "문자", "주" 및 "부" 번호와 같은 유형별로 정의됩니다. 메이저 번호는 장비를 분류하는 데 사용되며 마이너 번호는 특정 장비 유형을 식별하는 데 사용됩니다. 예를 들어 호스트 컨트롤러에 연결된 모든 IDE 장치의 메이저 번호는 3입니다. 마스터 및 슬레이브 장치는 물론 개별 파티션도 부 장치 번호를 사용하여 추가로 정의됩니다. 아래 디스플레이에 표시된 날짜 이전의 두 숫자는 다음과 같습니다.
brw-rw---- 1 root disk 3, 0 Mar 15 2002 /dev/hda
brw-rw---- 1 root disk 3, 1 Mar 15 2002 /dev/hda1
brw-rw---- 1 root disk 3, 10 Mar 15 2002 /dev/hda10
brw-rw---- 1 root disk 3, 11 Mar 15 2002 /dev/hda11
brw-rw---- 1 root disk 3, 12 Mar 15 2002 /dev/hda12
brw-rw---- 1 root disk 3, 64 Mar 15 2002 /dev/hdb
brw-rw---- 1 root disk 3, 65 Mar 15 2002 /dev/hdb1
brw-rw---- 1 root disk 22, 0 Mar 15 2002 /dev/hdc
brw-rw---- 1 root disk 22, 64 Mar 15 2002 /dev/hdd
hda 및 hdb 장치의 주요 장치 번호는 모두 3입니다. 물론, 각 특정 파티션마다 마이너 번호가 변경됩니다. 각 주요 번호 범주의 정의는 /usr/src/linux/include/linux/major.h 파일의 내용을 보면 확인할 수 있습니다. devices.txt에는 메이저 및 마이너 번호도 기록됩니다. 이는 /usr/src/linux/Documentation 디렉토리에 있습니다. 이 파일은 주요 번호를 정의합니다. 거의 모든 파일 장치는 설치 중에 기본적으로 생성됩니다. 그러나 mknod 명령이나 /dev 디렉토리 자체에 있는 MAKEDEV 스크립트를 사용하여 언제든지 장치를 생성할 수 있습니다. 이 유틸리티를 사용하면 생성할 장치, 장치 유형(블록 또는 문자), 주 및 부 장치 번호를 제공하여 장치를 만들 수 있습니다.