make 2>&1 | tee build.log 解释

Posted 知不足而奋进

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了make 2>&1 | tee build.log 解释相关的知识,希望对你有一定的参考价值。

make  -j8 2>&1 | tee build.log 

其中 make 是编译命令,

-j8 这里的 8 指的是线程数量,就是你要用几个线程去编译这个工程,一般会是 CPU核心数的2 倍。

提示:开多了会卡死的!!!

用途

编译时将编译log写到build.log文件中,同时也输出到标准输出。

解释

2表示标准输出。

文件描述符:0 stdin,1 stdout,2 stderr

2>&1,表示标准错误重定向到标准输出, 如果没有2>&1,只会有标准输出,没有错误;

tee的作用同时输出到控制台和文件。

make 2>log.txt 表示只将错误写到文件,其它的还是在标准输出。

问题1:  2 , &1 表示什么意思

问题2:  和 make > build.log  有什么区别吗

1.

问题1:表示的是文件描述符。0 stdin,1 stdout,2 stderr
问题2:作用上没有区别,后者是把make的所有输出都重定向到文件build.log当中

补充前面的:
问题1:2>&1,表示标准错误重定向到标准输出
问题2:
    1)如果没有2>&1,只会有标准输出,没有错误;
    2)tee的作用同时输出到控制台和文件

以上是关于make 2>&1 | tee build.log 解释的主要内容,如果未能解决你的问题,请参考以下文章

make build & make clean

Mage 类似make&&rake 基于golang 的build 工具

Android系统-MTK6833_android12_user版本修改adb_root_&_apk_root

MTK6833_android12_user版本修改adb_root_&_apk_root

Compile,Make和Build的区别

shell特殊符号cut_sort_wc_uniq命令和tee_tr_split命令