1. 每个进程都有默认的三个文件描述符:
标准输入 0
标准输出 1
标准错误 2
2. /dev/null
/dev/null,可以称为黑洞,是一个只写文件,丢弃一切写入其中的数据。
3. >/dev/null 2>&1
前面省略了标准输出1,原型为 1>/dev/null 2>&1
理解为:标准输出重定向到/dev/null,错误输出重定向到标准输出,前面标准输出已重定向到/dev/null,所以标准输出/错误输出都重定向到/dev/null
4. 2>&1 >/dev/null
原型为 2>&1 1>/dev/null
理解为:错误输出重定向到标准输出,标准输出重定向到/dev/null
总结
command | 标准输出(1) | 错误输出(2) |
>/dev/null 2>&1 | 不显示 | 不显示 |
2>&1 >/dev/null | 不显示 | 显示 |