Linux之输入/输出重定向管理
前言:Linux系统中,正确输出编号为1,错误输出编号为2。
我们平常所指的标准输入,便是键盘输入;所指标准输出,便是显示器输出。运行一个程序时,需要从某个位置读取输入信息,然后经过CPU处理,最后将输出显示到屏幕或文件。
这里举个例子。当系统以普通用户身份查找/etc下passwd文件时,因权限问题,会产生一些错误输出:
其中,除了/etc/passwd及/etc/pam.d/passwd两项为正确输出,其他均为错误输出。
通过执行以下命令,将输出重定向至file文件中。
find /etc -name passwd > file (重定向正确输出)
find /etc -name passwd 2> file (重定向错误输出)
find /etc -name passwd &> file (重定向所有输出)
注: >, 2> ,&> 均会覆盖源文件内容
find /etc -name passwd >> file ##追加正确输出
find /etc -name passwd 2>> file ##追加错误输出
find /etc -name passwd &>> file ##追加所有输出
注:>>, 2>>, &>> 不会覆盖源文件内容,输出字符将被追加至文件末尾
管道:将前一条命令的输出作为后一条命令的输入
如统计ls /bin 命令输出的行数:ls /bin | wc -l
注:系统中错误的输出无法通过管道。