首页 > 代码库 > make2 > &1 | tree 命令解读

make2 > &1 | tree 命令解读

一、2>&1 指的是什么
1、标准输入(stdin):默认指的是屏幕,代码为0,使用 < 或<<  
2、标准输出(stdout):默认指的是键盘,代码为1,使用 > 或 >>  
3、标准错误输出(stderr):代码为2, 使用 2> 或 2>>     
  < 是直接覆盖文件原有内容,<< 是在文件末尾追加    
2在这里指的是make中的错误信息  
所以 2>&1 指的是将标准信息输出路径指定为错误信息输出路径(也就是都输出在一起)
 
二、tee是用来干什么的?
功能说明:读取标准输入的数据,并将其内容输出成文件。
语法:tee [-ai][--help][--version][文件...]
补充说明:tee指令会从标准输入设备读取数据,将其内容输出到标准输出设备,同时保存成文件。
参  数:
 -a或--append  附加到既有文件的后面,而非覆盖它.
 -i-i或--ignore-interrupts  忽略中断信号。
 --help  在线帮助。
 --version  显示版本信息。
之所以要将编译产生的log保存到log.txt中, 其原因是你的标准输出的缓存可能是有限制的,而你编译程序产生的log可能会很多, 这样很可能会造成log不完整; 其目的是当程序发生编译错误的时候,我们可以从log.txt中看到完整的编译log, 这样方便查找编译错误。

make2 > &1 | tree 命令解读