Bash 中的管道
Fumbani Banda
2023年1月30日
2022年5月11日
本教程解释了管道是什么以及它们在 Unix 和 Linux 环境中的用法。
Unix 和 Linux 中的管道
Unix 和 Linux 环境中的管道将一个命令的标准输出作为标准输入传递给另一个命令以进行进一步处理。管道使用管道运算符将命令的输出作为输入传递给另一个命令。管道运算符是一个竖线,|
。
使用管道时,数据从左向右流动。管道有助于在命令之间无缝且连续地传递数据,而不是使用文本文件来传递数据。
以下语法用于管道。
command1 | command2 | command3
根据上面的语法,command1
的标准输出通过管道传送到 command2
作为标准输入。command2
处理来自 command1
的标准输入,并将输出通过管道传输到 command3
以供进一步处理。
在 Bash 中使用管道
以下示例演示如何在 Bash 中使用管道。
在下图中,第一个 ls
命令列出了 test
文件夹的所有内容。第二个 ls
命令将标准输出作为标准输入传递给 head
命令。
head
命令有 -2
选项;这告诉 head
命令显示 ls
命令输出的前两行。
第一个 cat
命令在下图中显示文件的内容 file1.txt
。第二个 cat
命令将标准输出通过管道传输到 grep
命令。
grep
命令匹配其中包含模式 John
的行,一旦找到该行,输出将通过管道传送到 tee
命令,该命令将该行写入 output.txt
文件。tee
命令还将其标准输出通过管道传输到 wc
命令。
wc
命令计算文件中的字数、字符数或行数。wc
的选项已设置为 -mwl
。-m
选项告诉 wc
命令计算文件中的字符数并将其打印到屏幕上。
使用 -w
选项统计文件中的字数,使用 -l
选项统计文件中的行数,并将数字通过终端打印到标准输出。
output.txt
文件有 1
行、4
个单词和 21
个字符。
Author: Fumbani Banda