和 minor 设备号?轻轻松松学 Linux:查看设备号的 major 和 minor 号是如何实现的? (linux 如何查看 major)
Linux 操作系统作为一种常用的服务器和嵌入式设备操作系统,拥有强大的功能和灵活的扩展性,其设备号的管理也是其中的一大特点。在 Linux 中,每个硬件设备都被分配一个唯一的设备号,以便操作系统能够轻松地管理它们。设备号分为两部分:主设备号(major)和次设备号(minor)。本文将介绍如何轻松地查看设备号的主要和次要编号。
主设备号
在 Linux 中,主设备号是一种唯一的整数值,它用于指定设备驱动程序的名称、标识以及所需的软件包。主设备号通常用于识别设备类型。例如,硬盘和 CD-ROM 驱动器将拥有相同的主设备号,但不同的次设备号,以便操作系统可以区分它们。
了解设备主要编号的最简单方法是使用以下命令之一:
ls -l /dev
或
cat /proc/devices
这些命令将显示当前系统中所有可用设备的主设备号及其相关信息。例如:
[root@localhost ~]# ls -l /dev
total 0
drwxr-xr-x 3 root root 60 Jan 28 13:07 mapper
crw-rw—- 1 root video 29, 0 Jan 28 13:07 fb0
brw-rw—- 1 root disk 252, 0 Jan 28 13:08 dm-0
brw-rw—- 1 root disk 252, 1 Jan 28 13:08 dm-1
在上面的例子中,之一列显示了设备的文件类型(d 表示目录,c 表示字符设备,b 表示块设备)。第二列表示该设备的权限和所有者,第三列表示该设备链接的总数,第四列表示所有者的用户名,第五列表示所有者所在的用户组,第六列表示设备的大小(以字节为单位),最后一列指定了设备的名称。之一个字符设备 fb0 的主设备号是 29(video),而之一个块设备 dm-0 的主设备号是 252(disk)。
次设备号
次设备号是一个整数值,它用于区分主设备号下的不同设备。在许多情况下,次设备号代表着设备的实际编号。对于字符设备,它可以代表设备的缓冲区;对于块设备,它可以代表物理块的编号。
一旦您知道设备的主要编号,就可以轻松地使用以下命令显示其次要编号:
ls -l /dev/
例如,如果您要查找 CD-ROM 驱动器的次要编号,则可以使用以下命令:
ls -l /dev/cdrom
通常,次设备号可以通过设备驱动程序的名称轻松地确定。例如,在以下输出中,设备 /dev/sda 的次设备号是 0:
[root@localhost ~]# ls -l /dev/sda
brw-rw—- 1 root disk 8, 0 Jan 28 13:08 /dev/sda
这告诉我们,设备 /dev/sda 是一个块设备,其主要编号为 8(disk),次要编号为 0。