本文来自:http://blog.csdn.net/woshinia/article/details/18040063
 
很早以前  编译的时候 就在用 2>&1,但是一直没有生成一个文档,来记录他,,今天看到这篇文章果断转走,,
 
将所有信息都输出到文件中的好处是,当编译信息庞大时   你可以在信息文件中过滤 如 error 、ERR 的关键词,更容易的定位错误,和检查是否完全编译
 
 
---------------------------------------------------
2014-01-09 14:18 5709人阅读 评论(0) 收藏 举报
 分类:
linux(28) 
Linux中,脚本语言环境中,即你用make xxx即其他一些普通linux命令,比如ls,find等,不同的数字,代表不同的含义:

数字 含义 标准叫法
0 标准输入 stdin = standard input
1 标准输出 stdout = standard output
2 标准错误输出 stderr = standard error

而系统默认的stdin,stdout,stderr,都是屏幕,所以,当你执行命令,比如make,后,所输出的信息,都是可以在屏幕上看到的。
所以,想要将对应信息输出到某个文件中,就用对应的数字加上重定向符号'>',实现将这些信息,重新定向到对应的文件中,即可。
(上面这两句,也是之前太多的人来解释,但是没有说明白的地方。)
下面以make命令为例来说明,如何把对应的信息,输出到对应的文件中:

【用法】

1.想要把make输出的全部信息,输出到某个文件中,最常见的办法就是:
make xxx > build_output.txt
此时默认情况是没有改变2=stderr的输出方式,还是屏幕,所以,如果有错误信息,还是可以在屏幕上看到的。
2.只需要把make输出中的错误(及警告)信息输出到文件中ing,可以用:
make xxx 2> build_output.txt
相应地,由于1=stdout没有变,还是屏幕,所以,那些命令执行时候输出的正常信息,还是会输出到屏幕上,你还是可以在屏幕上看到的。
3.只需要把make输出中的正常(非错误,非警告)的信息输出到文件中,可以用:
make xxx 1> build_output.txt
相应地,由于2=stderr没有变,还是屏幕,所以,那些命令执行时候输出的错误信息,还是会输出到屏幕上,你还是可以在屏幕上看到的。
4.想要把正常输出信息和错误信息输出到分别的文件中,可以用:
make xxx 1> build_output_normal.txt 2>build_output_error.txt
即联合使用了1和2,正常信息和错误信息,都输出到对应文件中了。
5. 所有的信息都输出到同一个文件中:
make xxx > build_output_all.txt 2>&1
其中的2>&1表示错误信息输出到&1中,而&1,指的是前面的那个文件:build_output_all.txt 。
注意:上面所有的1,2等数字,后面紧跟着大于号'>' ,中间不能有空格。

【引用】
1. 把GCC的编译信息重定向到一个文件中
“gcc -c test.c 2> error.txt, Unix下错误输出的ID一般为2”

2. 我之前写的帖子:【整理】将Linux下编译的warning警告信息输出到文件中

http://hi.baidu.com/serial_story/blog/item/99b6694e4be68300b2de05ce.html

最新文章

  1. JS省市区三级联动
  2. border-radius 样式表CSS3圆角属性
  3. Activiti的Eclipse插件离线安装指南
  4. NET设计模式(2):单件模式(Singleton Pattern)[转载]
  5. rman全库恢复到不同主机,不同实例名,不同目录下
  6. Histats申请Counter网站计数器 - Blog透视镜
  7. vue2 与后台信息交互
  8. 模块dll和lib
  9. UNIX网络编程——使用线程的TCP回射服务器程序
  10. eclipse更新time out的问题
  11. .NET Core微服务之基于App.Metrics+InfluxDB+Grafana实现统一性能监控
  12. SpringBoot配置文件
  13. Google Chrome等浏览器不允许关闭点击跟踪??
  14. Python OpenCV人脸识别案例
  15. ASP.NET Core托管和部署Linux实操演练手册
  16. January 28th, 2018 Week 05th Sunday
  17. hdu 5054
  18. 开启postgresql的远程权限
  19. OTL翻译(9) --常量的SQL语句
  20. 开发Yii2过滤器并通过behaviors()行为调用(转)

热门文章

  1. 【bzoj1597】 土地购买
  2. linux内核增加系统调用--Beginner‘s guide
  3. Android成长日记-ContextMenu实现上下文菜单
  4. poj3744 Scout YYF I
  5. .Net和C#的理解
  6. Android开发环境搭建中的一些小问题记录
  7. 解决Gmail/GCalendar图标丢失问题
  8. Error=Bias+Variance
  9. Mysql 列转行统计查询 、行转列统计查询
  10. JavaWeb学习总结-04 Servlet 学习和使用