Linux bash pipe命令的用法及其重定向示例

linuxbash提供了许多有用的特性和命令。管道或 | 是其中之一。Bash提供了一个命令行接口工具,主要用于将命令输出连接到另一个命令。

null

Bash管道概念

在Linux中,一切都是文件。这看起来很奇怪,但事实确实如此。执行的每个命令都有三种类型的流,可用于向命令提供数据或从命令输出数据。

  • 标准 (0)从中读取命令的标准输入。在bash中,默认值是bashshell
  • 标准 (1) 写入命令输出的标准输出。在bash中,默认输出通常是bashshell。
  • 斯特德尔 (2) 写入命令错误的标准错误。

Bash管道用法

管道将命令STDOUT或标准输出重定向到给定的下一个命令STDIN或标准输入。语法如下所示。在本例中,COMMAND1输出将作为输入馈送到COMMAND2。

COMMAND1 | COMMAND2

现在让我们举个简单的例子。我们将使用 cat 打印名为 names.txt 进入指挥部 sort 作为输入。

$ cat names.txt | sort
Pipe
管道

管道多个命令

在上一个示例中,我们只使用了一个管道,但是我们可以使用多个管道而不会出现问题,从而使事情变得更好。我们把它们放在下面这样的一根绳子里。在本例中,我们将使用管道命令 cat , sort grep

$ cat names.txt | sort | grep "a"
Pipe Multiple Commands
管道多个命令

管道到Grep命令

管道最常用的用法之一是 grep 命令。在本例中,我们将使用多个grep命令来过滤包含这些命令的行 a i 信件。

$ cat names.txt | grep "a" | grep "i"
Pipe To Grep
管道至Grep

管道到Less命令

less 命令是bash管道的另一个用例。我们通常使用cat命令 将文件上下文打印到 命令。在本例中,我们希望查看 firewalld .

$ cat /var/log/firewalld | less

相关文章: 用Bash-Fork炸弹摧毁Linux系统

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享