字符/块文件的大小

字符/块文件的大小

为什么字符或块文件的大小以逗号分隔?

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 脚本创建设备。通过提供要创建的设备、设备类型(块或字符)以及主设备号和次设备号,可以使用此实用程序创建设备。

相关内容