在linux中了解设备的特殊文件主次号

在linux中了解设备的特殊文件主次号,linux,file,device,Linux,File,Device,/dev中的所有文件都是特殊文件。。。它们代表计算机的设备。 它们是用mknodsyscall创建的。我的问题是:我怎样才能知道辅修和 用于创建此特殊文件的主要编号?该列表称为LANANA Linux设备列表,由Alan Cox管理 您可以在线()或在Linux源代码中找到。它在内核树中的文件名为 要查看在/dev中创建节点(或任何设备节点)的主要编号和次要编号,只需使用ls和-l选项: 22:26 jsmith@undertow% ls -l /dev/xvd? brw-rw---- 1 ro

/dev
中的所有文件都是特殊文件。。。它们代表计算机的设备。 它们是用
mknod
syscall创建的。我的问题是:我怎样才能知道辅修和
用于创建此特殊文件的主要编号?

该列表称为LANANA Linux设备列表,由Alan Cox管理

您可以在线()或在Linux源代码中找到。它在内核树中的文件名为

要查看在
/dev
中创建节点(或任何设备节点)的主要编号和次要编号,只需使用
ls
-l
选项:

22:26 jsmith@undertow% ls -l /dev/xvd?
brw-rw---- 1 root disk    202,   0 Nov  1 20:31 /dev/xvda
brw-rw---- 1 root disk    202,  16 Nov  1 20:31 /dev/xvdb
brw-rw---- 1 root disk    202,  32 Nov  1 20:31 /dev/xvdc
在此示例中,
202
是三个设备的主要编号,
0
16
32
是次要编号。左侧的
b
表示节点是块设备。另一种选择是
c
,一种字符设备:

crw-rw-rw- 1 root tty       5,   0 Nov 22 00:29 /dev/tty
例如,在这个系统上,
/dev/mapper/control
将是
c:10:57
,而
/dev/mapper/*
的其余部分将是
b:254:
,这可能会因启动周期的不同而有所不同,甚至在加载/卸载模块和添加/删除设备时也是如此

您可以在
/sys
中进一步查看这些设备注册

$ readlink /sys/dev/block/2:0 ../../devices/platform/floppy.0/block/fd0 $ cat /sys/devices/platform/floppy.0/block/fd0/dev 2:0 $ readlink /sys/dev/char/1:3 ../../devices/virtual/mem/null $ cat /sys/devices/virtual/mem/null/dev 1:3 $readlink/sys/dev/block/2:0 ../../devices/platform/floppy.0/block/fd0 $cat/sys/devices/platform/floppy.0/block/fd0/dev 2:0 $readlink/sys/dev/char/1:3 ../../devices/virtual/mem/null $cat/sys/devices/virtual/mem/null/dev 1:3 你也可以使用stat

$ stat -c 'major: %t minor: %T' <file>
$stat-c'大调:%t小调:%t'

特别是对于块设备:

$ lsblk
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda       8:0    0   90G  0 disk
├─sda1    8:1    0    4G  0 part [SWAP]
├─sda2    8:2    0    4G  0 part /

不依赖于统计数据的备选方案:

$ cat /sys/class/*/random/dev
1:8

嘿,谢谢!但我在问如何通过命令行做到这一点…:DDo通过命令行执行什么操作?除了
mknod
,您的问题没有提到任何关于命令行的内容。看起来lanana.org域已过期(“lanana.org已于2012年10月4日过期,正在等待续订或删除”)。我希望这会得到解决-看起来可能是一个反复出现的问题:
$ lsblk
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda       8:0    0   90G  0 disk
├─sda1    8:1    0    4G  0 part [SWAP]
├─sda2    8:2    0    4G  0 part /
$ cat /sys/class/*/random/dev
1:8