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












网友评论