想要在命令之间移动数据?使用管道使这个过程变得简单。在Linux中,管道可让您将一条命令的输出发送到另一条命令。管道,顾名思义,将标准输出、输入和错误从一个进程重定向到另一个进程以进行进一步处理。“管道”(或“未命名管道”)命令的语法是添加|两个命令之间的字符:Command-1|命令2|...|Command-N这里管道不能通过另一个Session访问;它是临时创建的,用于接收Command-1的执行并重定向标准输出。执行成功后删除。在上面的示例中,contents.txt包含特定目录中所有文件的列表——特别是ls-al命令的输出。我们首先通过管道使用“file”关键字从contents.txt中grep文件名(如图所示),因此cat命令的输出作为grep命令的输入提供。接下来,我们添加管道以执行awk命令,该命令显示grep命令的过滤输出中的第9列。我们还可以使用wc-l命令计算contents.txt中的行数。只要系统启动并运行,命名管道就会一直存在,或者直到它被删除。它是一种遵循FIFO(先进先出)机制的特殊文件。它可以像普通文件一样使用。也就是说,您可以写入、读取以及打开或关闭它。要创建一个命名管道,命令是:mkfifo
