Linux mknod命令

Linux mknod命令:创建块设备和字符设备文件。

Linux mknod命令 功能描述

使用mknod命令可以创建块设备或字符设备文件。当文件类型为p(即FIFO文件)时可以不指定主设备号和次设备号,其他文件类型必须指定。
如果主设备号和次设备号以“0x”或“X”开头,它们会被看作是十六进制数来解析;如果以“0”开头,则被看作是八进制数;其余情况下被看作是十进制数。
mknod命令可以指定创建以下类型的文件。

  • b:创建(有缓冲的)块设备文件。
  • c或u:创建(没有缓冲的)字符设备文件。
  • p:创建先进先出(FIFO)设备文件。

Linux mknod命令 语法

mknod [选项] [名称] [类型] [主设备号] [次设备号]

命令中各选项的含义如表所示。



mknod命令选项含义

Linux mknod命令 示例

手动创建/dev/sda设备文件

[root@rhel ~]# ls -l /dev/sda
brw-rw----. 1 root disk 8, 0 8月 19 00:45 /dev/sda
//查看/dev/sda设备文件,可知该设备主设备号为8,次设备号为0
[root@rhel ~]# rm -rf /dev/sda
//删除/dev/sda设备文件
[root@rhel ~]# ls -l /dev/sda
ls: 无法访问/dev/sda: 没有那个文件或目录
[root@rhel ~]# mknod /dev/sda b 8 0
//这里类型指定为b,代表块设备
[root@rhel ~]# ls -l /dev/sda
brw-r--r--. 1 root root 8, 0 8月 19 01:08 /dev/sda

为/dev/sda设备手动创建/tmp/Disk设备文件

[root@rhel ~]# ls -l /dev/sda
brw-rw----.1 root disk 8,0 8月 19 00:45/dev/sda
//查看/dev/sda设备文件,该设备主设备号是8,次设备号是0
[root@rhel ~]# fdisk -l /dev/sda
Disk /dev/sda: 536.9 GB, 536870912000 bytes
255 heads, 63 sectors/track, 65270 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00034c36
  Device Boot     Start       End     Blocks  Id
System
/dev/sda1  *         1         13     102400  83   Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2            13      19595  157286400  83   Linux
/dev/sda3         19595      19856    2097152  82   Linux swap/Solaris
[root@rhel ~]# mknod /tmp/Disk b 8 0
//创建设备文件/tmp/Disk,指定主设备号为8,次设备号为0
[root@rhel ~]# fdisk -l /tmp/Disk
Disk /tmp/Disk: 536.9 GB, 536870912000 bytes
255 heads, 63 sectors/track, 65270 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00034c36
        Device Boot     Start       End     Blocks  Id  System
/tmp/firstDisk1  *         1         13     102400  83   Linux
Partition 1 does not end on cylinder boundary.
/tmp/firstDisk2            13      19595   157286400  83   Linux
/tmp/firstDisk3          19595      19856    2097152  82   Linux swap/Solaris
//现在可以使用fdisk命令查看/tmp/Disk设备文件分区信息了
[root@rhel ~]# ls -l /tmp/Disk
brw-r--r--.1 root root 8,0 8月 19 01:10/tmp/Disk
赞(0)
未经允许不得转载:极客笔记 » Linux mknod命令
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址