中文:Archit Modi,翻译:Linux中国/geekpi
linux.cn/article-9992-1.html
在Linux中,管道允许您将一个命令的输出发送到另一个命令。管道,顾名思义,可以将一个过程的标准输出、输入和错误重定向到另一个过程进行进一步处理。
“管道”(或“未命名管道”)命令的语法是在两个命令之间添加|字符:
命令-1 |命令-2...|命令-N
这里,不能通过另一个会话访问管道;它是临时创建的,用于接收命令-1的执行并重定向标准输出。成功执行后删除。
在上面的例子中,contents.txt包含了一个特定目录中所有文件的列表,具体来说就是ls -al命令的输出。我们首先通过管道使用关键字“file”从contents.txt中对文件名进行grep(如图),所以cat命令的输出作为grep命令的输入提供。接下来,我们添加一个管道来执行awk命令,它在grep命令的过滤输出中显示第9列。我们也可以使用wc -l命令来计算contents.txt中的行数
只要系统启动并运行,或者直到它被删除,命名管道就可以连续使用。它是一个遵循先进先出机制的特殊文件。可以像普通文件一样使用。就是可以写,可以读,然后打开或者关闭。要创建命名管道,命令如下:
mkfifo <。管道名称>;
这将创建一个命名管道文件,甚至可以在多个shell会话中使用。
创建先进先出命名管道的另一种方法是使用以下命令:
mknod p <。管道名称>;
要将任何命令的标准输出重定向到其他命令,请使用>:符号。要重定向任何命令的标准输入,请使用
如上所示,ls -al命令的输出被重定向到contents.txt并插入到文件中。类似地,尾部命令的输入是通过
在这里,我们创建一个命名管道,并将ls -al命令的输出重定向到命名管道。我们可以打开一个新的shell会话,并为管道的内容命名。如前所述,它显示了ls -al命令的输出。请注意,命名管道的大小为零,并且有一个标志“p”。
所以,下次在Linux终端上使用命令,在命令之间移动数据的时候,我希望管道能让这个过程变得快速简单。
[关于提交]
如果有原创的好文章投稿,请直接发消息到官方号。
1.《命名管道 介绍 Linux 中的管道和命名管道》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《命名管道 介绍 Linux 中的管道和命名管道》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/guonei/793144.html