shell中的标准输入/输出/异常输出 重定向

shell中的标准输入/输出/错误输出 重定向

Linux下使用shell命令时经常使用类似这样的Shell输出重定向:

1>/dev/null 2>&1

在Shell命令的结尾,我们可以通过>符号来重定向输出。

 

1. 标准输入stdin文件描述符为0,标准输出stdout文件描述符为1,标准错误stderr文件描述符为2

2. /dev/null 空设备文件,相当于垃圾桶

3. 重定向符号:>

逐一解释上面的Shell重定向命令:

(1)  >符号代表输出重定向

(2)  >前面的数字:

0代表标准输入
1代表stdout标准输出,默认值为1,所以”1>/dev/null”可以简写为”>/dev/null”
2代表stderr标准错误输出

(3)2>&1代表把stderr标准错误输出 重定向 到stdout标准输出

所以,1>/dev/null 2>&1的解释就是

将stdout标准输出重定向到空设备文件/dev/null ,同时将stderr标准错误输出的重定向跟stdout标准输出重定向一致,也输出到空设备文件/dev/null。