1.2.3 管道与重定向
Bash的标准输入设备是键盘、鼠标、手写板等设备,标准输出为显示器,一般我们通过键盘输入命令并执行,系统将返回信息显示在屏幕上,默认不管是正确的还是错误的信息都将输出至显示器。标准输入的文件描述符为0,标准输出的文件描述符为1,错误输出的文件描述符为2。但有时我们需要改变这样的标准输入与输出方式,Linux中我们可以使用重定向符(<、>、<<、>>、|)重新定义输入与输出。
管道使得我们可以将多条命令连接在一起使用,它的作用是将一个命令的标准输出重定向给下一个命令并作为该命令的标准输入。例如,使用ifconfig eth0 | grep ‘inet addr’命令过滤包含IP地址的行,ifconfig本身会输出大量网络接口的信息,由于这里使用了管道符号(|)所以ifconfig命令的所有输出都将作为grep命令的输入内容,最终实现过滤包含IP地址的行。
以下通过几个简单的实例演示重定向的使用方法: