首页 > 技术文章 > linux输入输出重定向

ArChieve 2019-10-30 09:57 原文

使用 > 或 >> 时,默认为标准输出 1 重定向, 所以 > file 就是 1> file 的省写,1 与 > 之间不能有空格

比如ls -l > a.txt就是ls -l 1> a.txt

数字 0, 1, 2 与它后面的操作符 > 或 < 等 总是一个整体

2>&1 表示把 标准错误输出 重定向到 标准输出, 这在控制台下看到的效果 2>&1 和 1>&2 可能是一样的,因为标准输出或标准错误输出的目的地默认都为屏幕。

2>&1 是最常见到的写,这样就是把错误信息与标准输出都收集到一块了

&> file 表示把 标准输出 和 标准错误输出 都重定向到文件 file 中

>& file 把标准输出和标准错误输出都重定向到文件 file, 由于 > 默认为重定向标准输出,所以和 1>& file 是一个意思

以上 &> file>& file 也较少见,我还不没能理解上边两个中那个光杆子 & 是什么含义

推荐阅读