mkfifo命令相当实用,你一定知道如何创建管道输送grep的结果到LESS,可能甚至perl。但是你知道如何使2个命令通过1个命名管道沟通?那就得mkfifo命令。
用途
制作先进先出(FIFO)特别文件。
语法
mkfifo [ -m Mode ] File …
描述
根据指定的顺序,mkfifo 命令创建由 File 参数指定的 FIFO 特别文件。如果没有指定 -m Mode 标志,则 FIFO 文件的文件方式是通过文件方式创建所修改的包含 OR 的 S_IRUSR、S_IWUSR、S_IRGRP、S_IWGRP、S_IROTH 和 S_IWOTH 许可权的一位宽度(请参阅 umask 命令)。
mkfifo 命令与 mkfifo 子例程运行相似。
文件
/usr/bin/mkfifo 包含 mkfifo 命令。
标志
-m Mode:设置新创建的 FIFO 文件的文件许可权位的值为指定的方式值。Mode 变量与为 chmod 命令定义的方式操作数相同。如果使用了字符 +(加号)和 -(减号),则它们是相对于初始值 a=rw 来解释的(即具有许可权 rw-rw-rw-)。
退出状态
返回以下退出值:
0:成功创建所有指定的 FIFO 特别文件。
>0:发生错误。
实例
[root@localhost zhangy]# mkfifo -m 664 test1 #使用所有者的读/写许可权以及组和其他用户的读许可权来创建 test1 文件
[root@localhost zhangy]# cat /etc/passwd > test1 &
[1] 21316
[root@localhost zhangy]# cat test1
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
1.要使用许可权 prw-r–r– 创建 FIFO 特别文件,请输入:
mkfifo -m 644 /tmp/myfifo
此命令使用所有者的读/写许可权以及组和其他用户的读许可权来创建 /tmp/myfifo 文件。
2.使用 -(减号)操作符创建一个 FIFO 特别文件以设置 prw-r—– 许可权,请输入:
mkfifo -m g-w,o-rw /tmp/fifo2
此命令创建 /tmp/fifo2 文件,删除组的写权限和其他用户的所有许可权。
注:如果多于一个的文件是用 -(减号)操作符创建的,那么用顿号分隔每个方式说明符,中间不用空格。