分类: LINUX
2015-06-23 15:32:57
make 2>&1 |tee build.log 将编译过程中的标准输出log和错误log都保存到build.log文件中。
命令简析:
在Linux 中一切皆为文件, 甚至你的硬件也是文件:
0 - Input, keyboard (stdin)
1 - Output, screen (stdout)
2 - Error, screen (stderr)
这个命令中的‘2’ 即标准错误输出,‘&1’ 即标准输出,那为什么多了‘&’符号?主要是为了避免与文件名为1的文件混淆。
2>&1, 意思就是把标准错误输出到标准输出中。
|tee, 双向输出到控制台屏幕和文件(build.log)中。
此外,
make > build.log 2>&1 生成的build.log文件是完全一样的,区别log不输出到控制台屏幕;
make > build.log 只将标准输出log保存到文件,标准错误输出打印到控制台屏幕。