Unix/Linux系统/dev目录下的ls -l输出

Unix/Linux系统/dev目录下的ls -l输出

我读到 /dev 目录包含指向设备驱动程序的设备文件。

现在我的问题是,当我执行 ls -l 时,我得到类似这样的输出 在此输入图像描述

第 5 列和第 6 列值代表什么及其意义?

答案1

这些是主要数字、次要数字,您可以在此处找到更多信息: http://www.makelinux.net/ldd3/chp-3-sect-2.shtml

传统上,主编号标识与设备关联的驱动程序。例如,/dev/null 和 /dev/zero 均由驱动程序 1 管理,而虚拟控制台和串行终端由驱动程序 4 管理;同样,vcs1 和 vcsa1 设备均由驱动程序 7 管理。现代 Linux 内核允许多个驱动程序共享主设备号,但您将看到的大多数设备仍然按照一主设备一驱动程序原则进行组织。

内核使用次设备号来准确确定所引用的设备。根据驱动程序的编写方式(如下所示),您可以从内核获取指向设备的直接指针,也可以自己使用次要编号作为本地设备数组的索引。不管怎样,内核本身对次要数字几乎一无所知,除了它们引用驱动程序实现的设备这一事实之外。

答案2

正如@Daemon 提到的,这些是主要数字和次要数字。主编号对于特定类型的设备是通用的。

例如,运行:

ls -l /dev | grep -P "tty\d$"

生产:

crw--w----  1 root tty     4,   0 May 26 23:41 tty0
crw--w----  1 root tty     4,   1 May 26 23:41 tty1
crw--w----  1 root tty     4,   2 May 26 23:41 tty2
crw--w----  1 root tty     4,   3 May 26 23:41 tty3
crw--w----  1 root tty     4,   4 May 26 23:41 tty4
crw--w----  1 root tty     4,   5 May 26 23:41 tty5
crw--w----  1 root tty     4,   6 May 26 23:41 tty6
crw--w----  1 root tty     4,   7 May 26 23:41 tty7
crw--w----  1 root tty     4,   8 May 26 23:41 tty8
crw--w----  1 root tty     4,   9 May 26 23:41 tty9

它们都共享主编号4,但具有不同的次编号。

相关内容