linux的Make使用的重定向
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等数字,后面紧跟着大于号’>’ ,中间不能有空格。
最新文章
- 程序集与反射技术(C#)
- iOS-应用打包发布常见问题
- 矩阵的QR分解
- 初识onselectstart
- GET请求中URL的最大长度限制总结
- 爪哇国新游记之三十四----Dom4j的XPath操作
- html的3要素
- Qt 日志宏
- 关于web会话中的session过期时间的设置
- 利用iframe实现提交表单是页面部分刷新
- uva 10012
- android文件缓存,并SD卡创建目录未能解决和bitmap内存溢出解决
- json之dump和dumps,load和loads
- DrawableAnimation小练习
- 用layui前端框架弹出form表单以及提交
- 现有各种SSTC电路图,欢迎补充,研究,开发
- JDK1.7 HashMap 导致循环链表
- FileTable使用总结
- Linux文件系统知识记录——ext2描述
- Web中的宽和高
热门文章
- 屌爆了的两个在线编辑网站runjs和jsbin
- 已经安装了Myeclipse8.5 的情况下,激活myeclipse10.7要注意
- jquery.elevateZoom实现仿淘宝看图片,一张小的,一张大用于鼠标经过时候显示
- spring MVC 初探 (HelloWorld)
- LNMP(Linux+Nginx+Mysql+PHP---源码)环境搭建
- iOS获取设备唯一标识的各种方法?IDFA、IDFV、UDID分别是什么含义?
- 微信小程序之----弹框组件modal
- java 开发之linux 下 tomcat
- centos7.0之Lnmp和Lamp
- Delphi中的窗体创建与销毁