什么是| 在终端命令中

Roc*_*645 5 command-line gnome-terminal

我一直在尝试学习如何在 Ubuntu 中使用 apt-get,我在一篇如何极客文章中遇到了这个命令

sudo dpkg –list | less
Run Code Online (Sandbox Code Playgroud)

所以这基本上让我们看看我们已经安装在我们机器上的软件包列表并“滚动列表”

我的问题是,那里的|性格是什么?就在之前less,它的目的是什么,我只是想了解命令的语法。为什么它不只是另一种选择,例如-less

Bil*_*uly 6

|被称为管道。管道运算符将一个命令的输出作为输入传递给另一个命令。从管道操作符构建的命令称为管道。

在类 UNIX 操作系统中,管道是由标准流链接在一起的一系列进程,因此每个进程的输出直接作为输入提供给下一个进程。

假设,你有$ command 1 | command 2 | command 3,那么

在此处输入图片说明

来源:在 Linux 命令中使用管道

例如,如果要列出文件夹中的所有文件,您可能会使用以下命令:

$ ls -la
Run Code Online (Sandbox Code Playgroud)

现在,假设您只想列出 java 源文件,您可能会执行以下操作:

$ ls -la | grep .java
Run Code Online (Sandbox Code Playgroud)

ls -la产生一个进程,该进程的输出通过管道传送到进程的输入grep .java

您可以在此处了解有关管道和过滤器的更多信息。


Ali*_*deh 5

|又称管。

管道用于获取输出以在另一个命令中使用。

例如,当我们使用此命令时echo "ubuntu" | grep u,将 echo "ubuntu" 的输出发送到 grep 程序。