通过管道连接命令(|)
了解管道的作用,将一个命令的输出作为另一个命令的输入,以执行复杂操作。
通过管道连接命令(|) 是 CoddyKit 上的免费 Linux Command Line & Bash Scripting Mastery 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Linux Command Line & Bash Scripting Mastery 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Linux Command Line & Bash Scripting Mastery 课程共包含 4 节课。
使用管道连接命令
欢迎!在 Linux 中,您经常需要结合多个命令的功能来获得特定结果。这时管道就派上用场了。
管道允许您将一个命令的输出直接发送给另一个命令作为输入。您可以把它想象成数据的传送带!
管道符号“|”
管道符号是一条竖线:|。请将它放在两个命令之间。
- 左侧的命令会发送其标准输出(通常打印到屏幕上的内容)。
- 右侧的命令会将该输出接收为标准输入。
这是高效使用命令行的基础概念!
您的第一个管道:`ls | less`
让我们看看管道如何运行。ls -l /usr/bin 命令会列出许多文件,通常一屏显示不完。
将其输出通过管道传给 less 后,您可以逐页查看。请尝试运行此示例:
ls -l /usr/bin | less使用 `grep` 筛选输出
管道非常适合进行筛选。grep 命令会在文本中搜索模式。与管道结合使用时,它可以筛选另一个命令的输出。
此命令会列出当前目录中的所有文件,然后筛选出名称以 .txt 结尾的文件:
ls | grep .txt使用 `wc` 统计项目
wc(单词统计)命令可以统计行数、单词数或字符数。与管道结合使用时,它会对通过管道传入的输入进行统计。
要统计当前目录中有多少个 .txt 文件,可以依次连接 ls、grep 和 wc -l(统计行数):
ls | grep .txt | wc -l连接多个命令
您不只可以连接两个命令!还可以使用多个管道连接许多命令,创建功能强大的处理序列。
每个管道都会将前一个命令的输出传递给链中的下一个命令:
ps aux | grep chrome | wc -l对管道输出排序(`sort`)
sort 命令会按字母顺序或数字顺序排列文本行。它通常用于管道之后,以整理数据。
此示例会列出 /etc 中的文件,按字母逆序排列,并只显示前 5 个结果:
ls /etc | sort -r | head -n 5查找唯一行(`uniq`)
uniq 命令会删除重复的相邻行。在 sort 之后使用时效果最好,因为 sort 会将相同的行排列到一起。
让我们先对水果列表排序,然后找出其中不重复的项目:
echo -e "apple\nbanana\napple\norange" | sort | uniq管道与 I/O 重定向
还记得上一课中的 I/O 重定向(>、>>、<)吗?
- 管道(
|):将一个命令的输出连接到另一个命令的输入,使数据能够在程序之间流动。 - 重定向(
>、<):将命令的输入/输出连接到文件,以便将数据保存到磁盘或从磁盘读取数据。
两者都很强大,但用途不同。
管道知识检查
您已经学习了如何使用管道连接命令。让我们测试一下您对这些内容的理解!
回顾:管道的强大功能
做得很好!您已经掌握了在 Linux 中使用命令管道的基础知识。
- 管道(
|)将一个命令的输出连接到另一个命令的输入。 - 管道允许您连接多个命令,以完成强大的筛选、排序和处理任务。
- 管道不同于 I/O 重定向,后者将命令连接到文件。
请继续使用不同的命令进行练习,看看组合使用它们能完成多少任务!
常见问题解答
「通过管道连接命令(|)」课时是免费的吗?
是的 — 「通过管道连接命令(|)」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Linux Command Line & Bash Scripting Mastery 课程的其余内容,请升级到 CoddyKit PRO。 Linux Command Line & Bash Scripting Mastery 课程共包含 4 节课。
「通过管道连接命令(|)」这节课中我会学到什么?
了解管道的作用,将一个命令的输出作为另一个命令的输入,以执行复杂操作。 你通过在浏览器中直接运行的动手代码来练习 Linux Command Line & Bash Scripting Mastery,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Linux Command Line & Bash Scripting Mastery 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Linux Command Line & Bash Scripting Mastery 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。
「通过管道连接命令(|)」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Linux Command Line & Bash Scripting Mastery 课中编写并运行代码吗?
能。每节 Linux Command Line & Bash Scripting Mastery 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 管理进程(ps、top、kill)
- 输入/输出重定向(>、>>、<)
- 通过管道连接命令(|)
- 后台任务与任务控制