Menu
CoddyTech

什么是管道

本课属于 Coddy Terminal 学习旅程的“基础知识”单元。第 43 课,共 82 课。

重定向可以将输出发送到文件,但如果你想把一个命令的输出直接传递给另一个命令,该怎么办?这时就要用到管道。

管道使用 | 符号将一个命令的标准输出连接到另一个命令的标准输入。数据会直接在命令之间流动,而不是将中间结果保存到文件中。

cat names.txt | sort

这会获取 cat names.txt 的输出,并将其直接传递给 sort。排序后的结果会显示在屏幕上,不会创建任何临时文件。

如果不使用管道,你需要执行多个步骤:

cat names.txt > temp.txt
sort < temp.txt
rm temp.txt

管道可以用一条简洁的命令完成同样的事情。你可以把它想成将命令连接成流水线的各个部分:数据从一端进入,依次流经每条命令,直到生成最终输出。

challenge icon

挑战

简单

使用管道读取 fruits.txt 的内容,并用一条命令按字母顺序排序。

运行一条命令,要求:

  • 使用 cat 读取 fruits.txt
  • 使用 | 符号将输出传递给 sort

提示:格式为 cat filename | sort。cat 的输出会直接传递给 sort,不需要任何中间文件。

亲手试试

终端
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

基础知识中的所有课

自己练习: Terminal 在线编辑器