管道和重定向
Last updated
Last updated
在Linux中有很多标准的命令例如find、sort、du
等,可以满足我们完成文档管理、系统管理等诸多需求,但是大多时候一些复杂的需求都需要多个命令搭配起来使用,对于Linux来说一个命令对应于一个进程,因此多个命令协同工作,就涉及到多个进程的通信,Linux提供一种管道的方式来完成进程间通信。
管道在Linux中对应管道符号 |
。
CommandA执行的输出作为CommandB的输入,例如:
输出重定向符号: >
(覆盖), >>
(追加)。重定向到文件时,如果文件不存在,这两个命令都会首先创建这个文件。
系统中默认的文件描述符号:
0 标准输入
1 标准输出
2 标准错误输出
例如:
这里/dev/null
只有个特殊的文件,重定向这里的输出都会被其丢弃,因此有时候为了抑制错误输出,则只需要将其重定向到黑洞/dev/null
即可。
输出重定向符号:<
和<<