make 2>&1 | tee log.txt之小析
来源:互联网 发布:linux yum 安装rpm 编辑:程序博客网 时间:2024/05/06 03:53
前言
接触过linux的人,或多或少都会了解一点make 2>&1 | tee log.txt这个命令。
1. make是什么?
make是linux下一个非常强大的命令,简单点就是你要编译你的源代码就得靠他了。
2. 2>&1是什么意思?
2>&1应该分成两个部分来看,一个是2>以及另一个是&1,
其中2>就是将标准出错重定向到某个特定的地方;&1是指无论标准输出在哪里。
所以2>&1的意思就是说无论标准出错在哪里(哪怕是没有?),都将标准出错重定向到标准输出中。
3. 这里为什么还用到了管道?
管道的作用是提供一个通道,将上一个程序的标准输出重定向到下一个程序作为下一个程序的标准输入。
通常使用管道的好处是一方面形式上简单,另一方面其执行效率要远高于使用临时文件。
这里使用管道的目的是将make程序的输出重定向到下一个程序,其最终目的是用来将输出log存入文件中。
4. tee是用来干什么的?
tee从标准输入中读取,并将读入的内容写到标准输出以及文件中。
所以这里tee命令的作用是将数据读入并写到标准输出以及log.txt中。
之所以要将编译产生的log保存到log.txt中,
其原因是你的标准输出的缓存可能是有限制的,而你编译程序产生的log可能会很多,
这样很可能会造成log不完整;
其目的是当程序发生编译错误的时候,我们可以从log.txt中看到完整的编译log,
这样方便查找编译错误。
5. 关于I/O重定向的疑问?
既然管道可以用来进行I/O重定向,那应该是先有管道左边进程的输出才会有管道右边进程的输入吧?
可是我执行make 2>&1 | id这条命令时,会立即打出id这条命令的结果,好像make并没有执行一样,
这该如何解释?
有知道的朋友指点一下哦,本人也会持续的去了解相关内容,如有结果到时再更新出来。
- make 2>&1 | tee log.txt之小析
- make 2>&1 | tee log.txt之小析
- make 2>&1 | tee log.txt之小析
- make 2>&1 | tee log.txt 命令解析
- make 2>&1 | tee log.txt命令解析:
- make 2>&1 tee build_log.txt
- make 2>&1 | tee build.log 解释
- make 2>&1 | tee build.log
- make && make install 2>&1 | tee ./qtemake.log
- make 2>&1 | tee xxx.log 引发的思考
- make 2>&1 | tee build.log 求解释
- make 2>&1 > log.txt 命令解析
- Android 编译命令 make j8 2>&1 | tee build.log 解释
- Android 编译命令:make -j8 SHOWCOMMAND=TRUE 2>&1 | tee build.log解释
- adb logcat 2>&1 | tee log.log
- make 2>&1 | tee make.out 命令解释
- shell 之 2>&1 和 tee
- tail -f log.txt命令的小技巧------观察日志log.txt的动态变化
- 到底什么时候才需要在ObjC的Block中使用weakSelf/strongSelf
- IntelliJ IDEA 常用快捷键
- Eclipse(properties)插件:PropertyEditor在线安装
- Java基本数据结构总结
- Linux的文件与目录管理的bash shell命令
- make 2>&1 | tee log.txt之小析
- 在神画Z1看《极限挑战》
- STM32 串口初始化时的BUG
- IOS用CGContextRef画各种图形(文字、圆、直线、弧线、矩形、扇形、椭圆、三角形、圆角矩形、贝塞尔曲线、图片)
- hbuilder 如何调试PHP
- apache hadoop namenode的HA搭建
- 五种开源协议的比较(BSD,Apache,GPL,LGPL,MIT) – 整理
- ROS下Kinect2的驱动安装及简单应用
- JavaAPI之注释类型 PostConstruct