一、重定向
1. 文件描述符
进程使用文件描述符来管理打开的文件,打开的文件都有一个 FD (file descriptors) ,也称为文件句柄。
有三种文件句柄 :
标准输入、正常输出、错误输出(stdin、stdout、stderr) 分别对应数字 0、1、2
2. 重定向符号
>
输出重定向到一个文件或覆盖原来的文件
>!
输出重定向到文件并强制覆盖
>>
输出重定向到文件并追加
<
输入重定向到一个程序
3. 常用
1 >
将一个标准输出重定向到一个文件或覆盖原来的文件
2 >
将一个错误输出重定向到一个文件或覆盖原来的文件
2 >>
将一个标准错误输出重定向到一个文件或追加到原来的文件
2 >> &1
将标准错误重定向到标准输出,这样写可以保证错误信息被重定向到log中,而不是输出在屏幕上。
>/dev/null
将重定向的内容进行丢弃,/dev/null 为黑洞文件
二、管道
1. 概念
把一个命令的输出作为另一种方式的输出,以这种方式连接的两个或多个命令就形成了管道。
2. 语法格式
command1 | command2 | ...
管道 |
左边的命令输出变成了右边的命令输入,只要左边的命令标准输入,右边的命令标准输出,两者就构成了管道。