make 2>&1 | tee a.log

1. make是什么?

make是linux下一个非常强大的命令,简单点就是你要编译你的源代码就得靠他了。

2. 2>&1是什么意思?

0 stdin,1 stdout,2 stderr
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,
这样方便查找编译错误。

Ubuntu学习日记--Lesson8:make 21 | tee log.txt命令解析 (错误输出,重定向,管道符)相关推荐

  1. Ubuntu学习日记--Lesson9:显卡工作状态查看命令

    在使用GPU做计算,比如跑 Deep Learning代码的时候,我们可能希望能够实时检测显存的使用情况,但是Linux一般不会自带监视现存的工具.Nvidia自带了一个 nvidia-smi的命令行 ...

  2. Ubuntu学习日记--Lesson1:Linux基础和常用命令

    版权生命:文章系原创,转载请注明出处,多谢! 为了在Linux系统下用深度学习框架caffe,系统补习了一下Linux操作的知识,做些笔记,以备复习,或随时查看. Lesson1:Linux基础和常用 ...

  3. ubuntu学习日记--Lesson6:shell,bash,dash

    原文链接:http://www.cnblogs.com/hf8051/p/4538986.html 终端:即所谓的命令行界面,又称命令终端,用户输入shell命令用的窗口,跟Windows里的DOS界 ...

  4. ubuntu学习日记--Lesson5:系统目录详解

    原文链接:http://www.cnblogs.com/ajianbeyourself/p/4187535.html 我们平时最常用的写目录为:/home/[username],  /etc,  /v ...

  5. 暑假学习日记2013/7/21

    今天学点数学,主要是复习了一下这个gcd,和exgcd的算法,看着书了解了平面扫描的方法的大致内容,复习了凸包的算法,感觉凸包的算法很神~后来想学下对踵点,不过貌似没时间了,明天再看吧.晚上打了一下C ...

  6. Ubuntu学习日记--Lesson7:文件权限管理chmod

    原文链接:http://blog.chinaunix.net/uid-21880738-id-1813031.html Ubuntu的许多操作是在终端中进行的,通过sudo命令管理的文件是由root持 ...

  7. Ubuntu学习日记--Lesson4:环境变量详解

    原文链接:http://www.linuxidc.com/Linux/2016-09/135476.htm 使用Ubuntu 进行开发绕不开的就是环境变量的配置,由于Linux系统严格的权限管理,造成 ...

  8. Ubuntu学习日记--Lesson2:创建、重命名、删除文件及文件夹,强制清空回收站方法

    原文链接:http://blog.csdn.net/yuzhiyuxia/article/details/7919091 mkdir 目录名           --创建一个目录 rmdir 空目录名 ...

  9. Ubuntu学习日记--Lesson10:gcc、make、makefile、cmake、cmakelists区别

    1.gcc是GNU Compiler Collection(就是GNU编译器套件),也可以简单认为是编译器,它可以编译很多种编程语言(括C.C++.Objective-C.Fortran.Java等等 ...

最新文章

  1. Effective C++:条款33:避免遮掩继承而来的名称
  2. 2012年寒假•青年基金【修改后发表】
  3. vue学习记录: 遇到过的问题记录
  4. C++最大数的幂 largest power实现算法(附完整源码)
  5. aistudio/jupyter 相关
  6. 微信小程序第三方服务公司有哪些
  7. argparser_Java命令行界面(第22部分):argparser
  8. 若依(RuoYi)如何不登录直接访问?
  9. mysql源码安装linux,Linux下mysql源码安装笔记
  10. [2018.10.18 T3] 小 G 的线段树
  11. python time函数的功能_Python中Python时间模块的常用功能,Pythontime,函数
  12. 一个完整的C语言程序
  13. 简单介绍一下用加速度传感器修正角速度传感器(陀螺仪)累计误差的原理
  14. 数字电路设计JK触发器
  15. 2020 中南大学研究生招生夏令营机试题(1252~1256)
  16. 好用免费的电脑摄像头录视频软件分享!
  17. linux i2c模型 rtc模型 详细分析,Linux RTC驱动分析(一)----pcf8563驱动和class.c
  18. Event Sourcing和CQRS实现
  19. CMD中Pushd和Popd命令的用法
  20. 怎么将英文网页整篇翻译成中文

热门文章

  1. 51nod 1574: 排列转换
  2. [Python] 将两个列表合并为字典
  3. [GCN] Modification of Graph Convolutional Networks in PyTorch
  4. kubernetes--pod的生命周期管理(PostStart,PreStop)
  5. python深度学习库keras——安装
  6. zedboard板子上呼吸灯的实现(第一版)仿真代码的实现
  7. mssql sqlserver 优化注意事项:
  8. Linux下的lds链接脚本简介(三)
  9. 工程linux下创建svn仓库目录结构
  10. (转)关于中国的互联网