0Pricing
DevOps Bootcamp · 课时

通过管道连接命令(|)

了解管道的作用,将一个命令的输出作为另一个命令的输入,以执行复杂操作。

通过管道连接命令(|) 是 CoddyKit 上的免费 DevOps Bootcamp 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 DevOps Bootcamp 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 DevOps Bootcamp 课程共包含 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 导师)并解锁 DevOps Bootcamp 课程的其余内容,请升级到 CoddyKit PRO。 DevOps Bootcamp 课程共包含 4 节课。

「通过管道连接命令(|)」这节课中我会学到什么?

了解管道的作用,将一个命令的输出作为另一个命令的输入,以执行复杂操作。 你通过在浏览器中直接运行的动手代码来练习 DevOps Bootcamp,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 DevOps Bootcamp 需要有经验吗?

无需任何先前经验。CoddyKit 上的 DevOps Bootcamp 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。

「通过管道连接命令(|)」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 DevOps Bootcamp 课中编写并运行代码吗?

能。每节 DevOps Bootcamp 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 管理进程(ps、top、kill)
  2. 输入/输出重定向(>、>>、<)
  3. 通过管道连接命令(|)
  4. 后台任务与任务控制
← 返回 DevOps Bootcamp