发布网友 发布时间:2022-04-24 14:39
共1个回答
热心网友 时间:2023-10-16 19:33
mknod命令用于创建一个设备文件,即特殊文件
操作系统与外部设备
(例如:磁盘驱动器,打印机,modern,终端 等等)都是
通过设备文件来进行通信
的,在Unix/Linux系统与外部设备通讯之前,这个设备必须首先要有一个设备文件,
设备文件均放在/dev目录下。
一般情况下在安装系统的时候系统自动创建了很多已检测到的设备的设备文件,但有时候我们也需要自己手动创建,命令行生成设备文件的方式有 insf,mksf,mknod等等
根据mknod命令的使用参数来看【mknod Name { b | c } Major Minor 】,使用mknod之前,至少要明白以下几点:
设备文件类型:分为块设备和字符设备。ls -l /dev 结果显示第一个字段有b*** 和 c****,这里即标识了块设备和字符设备。
字符设备文件----字符设备文件传送数据给设备的时候,一次传送一个字符,终端,打印机,绘图仪,modern等设备都经过字符设备文件传送数据。
块设备---系统通过块设备文件存取一个设备的时候,先从内存中的buffer中读或写数据,而不是直接传送数据到物理磁盘,这种方式能有效的提高磁盘和CD-ROMS的I/O性能。磁盘和CD-ROMS既可以使用字符设备文件也可使用块设备文件。
主号和次号:
主号:当在任意目录使用ls -l 时,结果的第5个字段就是主号,
设备主号代表了这个设备使用的是哪个设备驱动程序。
次号:次号是一个24位的十六进制数字,
定义了设个设备在系统中的物理的位置。
就拿我们常用的创建卷组来看;
先来看看mknod 命令,如果该设备文件你想放在一个特定的文件夹下当然就先创建文件夹
mknod 设备文件名[/dev/xyz] b/c 主号 次号
{ mkdir /dev/vg01
mknod /dev/vg01/group c 0X010000}创建之后,就可以使用你想要创建的设备了,如我现在的卷组的创建命令:
vgcreate /dev/vg01 /dev/dsk/c*t*d*
一直进行下去之后的步骤根据不同的设备而不尽相同