mknod命令用于创建字符设备文件和块设备文件
(ls /dev -l 结果显示b开头和c开头的,即标识了块设备和字符设备。)
为了管理设备,所以设备中都有两个设备号:
主设备号:为了区分不同类型的设备
次设备号:为了区分同一设备下不同子设备
例如 通过ls /dev/null -l ,查看null设备:
crw-rw-rw- 1 root root 1, 3 2017-08-16 15:32 null //c开头,所以null设备为字符设备,主设备号为1,次设备号为3
格式 : mknod[选项][文件名称] [文件类型] [主设备号] [次设备号]
选项:
-m:设置权限模式,类似于chmod命令,后面跟以下几个参数:
400 -r-------- 拥有者能够读,其他任何人不能进行任何操作;
644 -rw-r--r-- 拥有者都能够读,但只有拥有者可以编辑;
660 -rw-rw---- 拥有者和组用户都可读和写,其他人不能进行任何操作;
664 -rw-rw-r-- 所有人都可读,但只有拥有者和组用户可编辑;
700 -rwx------ 拥有者能够读、写和执行,其他用户不能任何操作;
744 -rwxr--r-- 所有人都能读,但只有拥有者才能编辑和执行;
755 -rwxr-xr-x 所有人都能读和执行,但只有拥有者才能编辑;
777 -rwxrwxrwx 所有人都能读、写和执行(该设置通常不是好想法)。
-z:设置安全的上下文
实例:
sudo mknod /dev/console2 c 100 2 //创建字符设备 /dev/console2,主设备号为100,次设备号为2
sudo mknod -m 660 /dev/console2 c 100 2 //创建字符设备 /dev/console2,并设置权限为660(用户和组都可读写) ,主设备号为100,次设备号为2