Bash 中的管道

Fumbani Banda 2023年1月30日 2022年5月11日
  1. Unix 和 Linux 中的管道
  2. 在 Bash 中使用管道
Bash 中的管道

本教程解释了管道是什么以及它们在 Unix 和 Linux 环境中的用法。

Unix 和 Linux 中的管道

Unix 和 Linux 环境中的管道将一个命令的标准输出作为标准输入传递给另一个命令以进行进一步处理。管道使用管道运算符将命令的输出作为输入传递给另一个命令。管道运算符是一个竖线,|

使用管道时,数据从左向右流动。管道有助于在命令之间无缝且连续地传递数据,而不是使用文本文件来传递数据。

以下语法用于管道。

command1 | command2 | command3

根据上面的语法,command1 的标准输出通过管道传送到 command2 作为标准输入。command2 处理来自 command1 的标准输入,并将输出通过管道传输到 command3 以供进一步处理。

在 Bash 中使用管道

以下示例演示如何在 Bash 中使用管道。

在下图中,第一个 ls 命令列出了 test 文件夹的所有内容。第二个 ls 命令将标准输出作为标准输入传递给 head 命令。

head 命令有 -2 选项;这告诉 head 命令显示 ls 命令输出的前两行。

管道 img1

第一个 cat 命令在下图中显示文件的内容 file1.txt。第二个 cat 命令将标准输出通过管道传输到 grep 命令。

grep 命令匹配其中包含模式 John 的行,一旦找到该行,输出将通过管道传送到 tee 命令,该命令将该行写入 output.txt 文件。tee 命令还将其标准输出通过管道传输到 wc 命令。

wc 命令计算文件中的字数、字符数或行数。wc 的选项已设置为 -mwl-m 选项告诉 wc 命令计算文件中的字符数并将其打印到屏幕上。

使用 -w 选项统计文件中的字数,使用 -l 选项统计文件中的行数,并将数字通过终端打印到标准输出。

output.txt 文件有 1 行、4 个单词和 21 个字符。

管道 img2

Fumbani Banda avatar Fumbani Banda avatar

Fumbani is a tech enthusiast. He enjoys writing on Linux and Python as well as contributing to open-source projects.

LinkedIn GitHub