mknod 命令参数到底是什么?

mknod 命令参数到底是什么?

mknod命令参数到底是什么?

我想在 chroot 中创建一个监狱。所以我需要做:

mknod /var/chroot/bind/dev/null c 1 3
mknod /var/chroot/bind/dev/random c 1 8

c13和 是什么8

答案1

mknod正在创建一个设备文件,通常位于 /dev 分支中,但不一定像您的示例所示。

第一个参数告诉我们要创建哪种设备,这里c是字符设备。其他选择可能是b块设备、pfifo(管道)。

第二个参数是主设备号,它标识内核使用的驱动程序。

第三个参数是次设备号,它被传递给驱动程序供其内部使用。

在 Linux 上,主要/次要编号记录如下:设备.txt

所以 1 用于所谓的存储设备由一个司机处理。

3表示null读取时返回 EOF 并丢弃写入的任何内容的设备。

8代表random返回随机数的设备。

要获取更多信息,您可以查看设备手册页,例如

man -s 4 null
man -s 4 random

答案2

MAKEDEV是创建不存在的设备文件的首选方法。然而,有时MAKEDEV脚本不知道您想要创建的设备文件。这就是mknod命令的用武之地。为了使用,mknod您需要知道要创建的设备的主节点号和次节点号。

mknod /dev/ttyS0 c 4 64

答案3

很高兴知道:

要获取已连接设备的主要/次要编号,您可以获取设备数据:

cat /sys/class/tty/ttyUSB0/uevent

结果:

MAJOR=188
MINOR=0
DEVNAME=ttyUSB0

有了这些信息,您就可以致电: mknod /dev/ttyUSB0 c 188 0

相关内容