`
zengshaotao
  • 浏览: 787355 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

输出正常和错误的信息到文件

    博客分类:
  • unix
 
阅读更多

Linux中,脚本语言环境中,即你用make xxx即其他一些普通linux命令,比如ls,find等,不同的数字,代表不同的含义:
数字 含义 标准叫法
0 标准输入 stdin = standard input
1 标准输出 stdout = standard output
2 标准错误输出 stderr = standard error

 

> 和 >> 都是输出重定向符号。标准输出默认是打印到控制台,如果要导入到文件,就需要使用>或>>。> 会覆盖已有的文件内容,而>>会附加到已有内容之后。
< 和 << 是输入重定向符号。从文件中读取内容。
2>&1 是把错误输出导入(合并)到标准输出流中
 
grep "standard"* > grep.out 2>&1 就是将标准输出与错误输出一并送入grep.out文件中,写文件方式为覆盖写(>)。
cat >>filetest 2>&1 <<MAYDAY 就是从MAYDAY中读取文件内容,将标准输出与错误输出一并送入filetest文件中,写文件方式为附加写(>>)。

习惯上
标准输入(standard input)的文件描述符是 0
标准输出(standard output)是 1
标准错误(standard error)是 2

 

而系统默认的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等数字,后面紧跟着大于号'>' ,中间不能有空格。

分享到:
评论

相关推荐

    使用格式控制字符将数据输出到text型的磁盘文件中

    在C++编程中,将数据输出到text型的磁盘文件是常见的操作,尤其是在处理大量数据或者需要持久化存储信息时。这个过程涉及到C++的流类库,特别是`iostream`库,它提供了输入/输出流对象,如`ofstream`用于文件输出。...

    log日志输出到文件dll,VS2005可以直接用

    这些函数分别用于记录不同级别的日志信息,如普通信息、警告和错误。`__declspec(dllexport)`关键字用于指示这些函数将在DLL中导出。 接下来,我们需要在DLL中实现这些函数,打开或创建日志文件,然后将传入的消息...

    第16讲 6.2.16 输出文件错误perror.doc

    `perror`函数是C语言标准库中用于输出错误信息的一个工具,特别是在文件输入输出过程中遇到问题时,它可以帮助开发者诊断并解决问题。本讲主要关注如何使用`perror`来处理输出文件错误。 首先,我们了解`ferror`...

    tensorflow模型文件(ckpt)转pb文件的方法(不知道输出节点名)

    如果尝试使用这种方法但没有提供输出节点名,生成的pb文件可能只包含基本的图结构,而不含权重信息,因此大小较小,无法正常运行。 总结来说,将ckpt模型文件转换为pb文件,最常用的方法是利用`freeze_graph`工具,...

    QSAM文件错误

    1. ANY00 - 成功:这是一个正常状态,表示文件操作已完成且无错误。 2. ANY02 - 对索引文件,成功但发现了重复关键字:在尝试写入索引文件时,系统检测到一个重复的关键字,这可能违反了唯一性约束。 3. READ04 - ...

    输入输出流-从words文件中读取单词,输出重复字母对最多的单词(C++)

    在文件操作过程中,如果文件无法打开,程序会输出错误信息并调用`abort()`函数强制退出,以确保程序不会在不正常的状态下继续运行。 7. **程序结构**: 从给出的代码片段看,实验步骤包括了问题分析、程序设计...

    电脑故障全集-注册错误信息-电脑自检响铃代码和错误信息

    本文档将详细介绍关于电脑出现的一些常见故障,特别是那些涉及到注册错误信息以及电脑自检时发出的响铃代码的情况。这些信息对于理解并解决电脑运行过程中可能出现的问题非常有用。 #### 注册错误信息详解 在电脑...

    Unity重定向日志输出到屏幕

    非常的不方便,所以做了个日志输出的重定向到屏幕上 为了图方便,用了UGUI做输出显示 支持做了简单的颜色区分和时间显示,并且会自动拦截全局的未catch的exception信息 提供了显示隐藏和屏蔽滑动的功能(用于...

    关闭snmp和nrpe的syslog正常输出

    ### 关闭SNMP和NRPE的Syslog正常输出 #### 背景介绍 在网络管理领域,简单网络管理协议(Simple Network Management Protocol, SNMP)与网络资源性能监控工具(Nagios Remote Plugin Executor, NRPE)是两种常用的...

    带颜色的ListBox即时信息输出框,源码

    而“带有不同颜色显示”的ListBox则通过自定义扩展了CListBox的功能,使得不同的信息可以根据需要以不同的颜色展示,例如错误信息可以红色显示,警告信息黄色显示,正常信息黑色显示,这样不仅提升了用户体验,也...

    让一个reducer产生多个输出文件.docx

    在大数据处理框架Hadoop中,经常需要根据不同的业务需求将处理后的数据输出到不同的文件中。本篇将详细探讨如何在一个Reducer中实现生成多个输出文件的方法。 #### 一、理解Hadoop的Reduce过程 在Hadoop MapReduce...

    java读写properties文件,解决系统找不到指定路径,解决写入后读取正常,但文件数据未更新问题

    对于提供的"新建文本文档.txt",虽然不是Properties文件,但其可能包含了相关代码示例或错误信息,分析这个文件也可能帮助我们找到具体问题所在。在实际操作中,务必根据实际情况调整代码并进行调试。

    如何用Dir()函数来列出C下所有TMP文件并且用文本框输出

    - **attributes**:可选的参数,用于指定文件属性,例如正常文件、只读文件等。 #### 实现步骤 为了实现列出C盘下所有`.tmp`文件并用文本框输出的功能,我们可以按照以下步骤进行: 1. **定义函数**:首先定义一...

    Linux标准输入、输出和重定向

    3. **标准错误输出(Standard Error Output, stderr)**:文件描述符为2,同样与终端的屏幕关联,主要用来展示进程产生的错误信息。 通过理解这些概念,我们可以更好地控制和管理Linux中的数据流。 #### 二、标准...

    输出到文本的SQL语句

    在Oracle数据库中,`spool`命令是一种非常实用的功能,它允许用户将查询结果或者执行过程中的所有输出(包括错误信息)重定向到一个外部文件中,而不是显示在屏幕上。这在处理大量数据时尤其有用,可以避免因屏幕...

    C++解压以及压缩文件

    在实践中,C++的压缩和解压缩操作可能会涉及到多线程、内存管理和错误处理等方面,以确保程序的稳定性和效率。开发者还应关注版权问题,因为某些库可能受到特定的许可限制。总的来说,理解和掌握这些技术可以帮助...

    实现自绘图形输出为bmp图片文件

    在Windows编程中,DC(Device Context)是一种抽象接口,它代表了设备的图形输出环境,如屏幕或打印机。...在实际项目中,还需要考虑错误处理和兼容性问题,以确保在不同系统和设备上都能正常工作。

    电信设备-信息输入输出装置及信息输入输出元件.zip

    总的来说,信息输入输出装置及元件是电信设备的核心组成部分,它们不仅决定了系统的功能和性能,还直接影响到用户的使用体验。深入理解和掌握这一领域的知识对于电信行业的技术人员和管理人员来说是必不可少的。这个...

    shell的输入与输出

    以上脚本首先使用read命令从键盘获取用户名和年龄,然后通过echo命令将格式化的信息输出到屏幕,同时使用重定向操作将相同的信息追加到`user_log.txt`文件中,实现了数据的屏幕显示和持久化存储。 总之,shell的...

    ch14 输入输出与文件.ppt

    `cerr`和`cout`都是`ostream`对象,但`cerr`的输出是无缓冲的,能快速将错误信息展示给用户,而`cout`的输出可以被重定向。 基于文件的I/O通过`ifstream`和`ofstream`进行,可以实现从文件读取数据或向文件写入数据...

Global site tag (gtag.js) - Google Analytics