mknod [OPTION]... NAME TYPE [MAJOR MINOR]
功能
创建块/字符设备特殊文件。
举例
建立一个新的名叫 coffee
',主设备号为 12
和从设备号为 2
的设备文件
$mknod /dev/coffee c 12 2
你并不是必须将设备文件放在目录 /dev
中,这只是一个传统。
创建一个管道文件
#mknod pipeFile p
这样,生成一个 pipeFile
文件.用 echo "good">pipeFile
之后阻塞,再用 cat pipeFile
会打印出 good
;用 cat pipeFile
会阻塞,再用 echo "good"= ,这样 =cat
处会打印 pipeFile
。
描述
创建指定 TYPE
的特殊文件 NAME
。
文件系统中的一个专用文件存贮着三种信息(布朗型、整型、整型)。布朗型在字符文件与块文件之间作出选择,两个整型是主、次设备号。
通常,一个专用文件并不在磁盘上占用空间,仅仅是为操作系统提供交流,而不是为数据存贮服务。一般地,专用文件会指向一个硬件设备(如:磁盘、磁带、打印机、虚拟控制台)或者操作系统提供的服务(如: /dev/null
, /dev/random
)。
块文件通常类似于磁盘设备(在数据可以被访问的地方赋予一个块号,意味着同时设定了一个块缓存)。所有其他设备都是字符文件。(以前,两种文件类型间是有差别的。比如:字符文件 I/O
没有缓存,而块文件则有。)
mknod
命令就是用来产生这种类型文件的。
选项:
-
-Z
,--context=CTX
设置SELinux
安全环境为CTX
(什么意思?). -
-m
,--mode=MODE
设置文件的权限为MODE
,不是a=rw-umask
-
--help
帮助信息 -
--version
版本信息
当 TYPE
是 b
, c
,或者 u
的时候,必须指定 MAJOR
和 MINOR
,如果 TYPE
是 p
则可以忽略.如果 MAJOR
或 MINOR
以 0x
或者 0X
开头的时候,被解释为 16
进制;如果以 0
开头,被解释为八进制;否则就是十进制。
TYPE
可能的取值是:
-
b
创建一个块(有缓存的)特殊设备文件。 -
c
,u
创建一个字符(无缓存的)特殊设备文件。 GNU版本还允许使用u
('unbufferd'非缓冲化),以保持与C语言的一致。 -
p
创建FIFO
文件。
一般来说主设备号用来区分设备的种类;次设备号则是为了作唯一性区分,标明不同属性。
其他
一些创建设备文件的命令例子
#mknod dev/null c 1 3
#mknod dev/zero c 1 5
#mknod dev/random c 1 8
网友评论