什么是管道
本课属于 Coddy Terminal 学习旅程的“基础知识”单元。第 43 课,共 82 课。
重定向可以将输出发送到文件,但如果你想把一个命令的输出直接传递给另一个命令,该怎么办?这时就要用到管道。
管道使用 | 符号将一个命令的标准输出连接到另一个命令的标准输入。数据会直接在命令之间流动,而不是将中间结果保存到文件中。
cat names.txt | sort这会获取 cat names.txt 的输出,并将其直接传递给 sort。排序后的结果会显示在屏幕上,不会创建任何临时文件。
如果不使用管道,你需要执行多个步骤:
cat names.txt > temp.txt
sort < temp.txt
rm temp.txt管道可以用一条简洁的命令完成同样的事情。你可以把它想成将命令连接成流水线的各个部分:数据从一端进入,依次流经每条命令,直到生成最终输出。
挑战
简单使用管道读取 fruits.txt 的内容,并用一条命令按字母顺序排序。
运行一条命令,要求:
- 使用
cat读取fruits.txt - 使用
|符号将输出传递给sort
提示:格式为
cat filename | sort。cat的输出会直接传递给sort,不需要任何中间文件。
亲手试试
终端
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
基础知识中的所有课
自己练习: Terminal 在线编辑器