`
berrywu
  • 浏览: 124910 次
  • 性别: Icon_minigender_1
  • 来自: 福建
社区版块
存档分类
最新评论

标准输入、输出和错误输出

阅读更多

 当我们在s h e l l中执行命令的时候,每个进程都和三个打开的文件相联系,并使用文件描述符来引用这些文件。由于文件描述符不容易记忆, s h e l l同时也给出了相应的文件名。 
下面就是这些文件描述符及它们通常所对应的文件名:

文件文件描述符 
输入文件—标准输入stdin 0:它是命令的输入,缺省是键盘,也可以是文件或其他命令的输出。 
输出文件—标准输出stdout 1:它是命令的输出,缺省是屏幕,也可以是文件。 
错误输出文件—标准错误stderr 2:这是命令错误的输出,缺省是屏幕,同样也可以是文件。

如果没有特别指定文件说明符,命令将使用缺省的文件说明符(你的屏幕,更确切地说是你的终端)。

系统中实际上有1 2个文件描述符,但是正如我们在上表中所看到的, 0、1、2是标准输入、输出和错误。可以任意使用文件描述符3到9。

在执行命令时,可以指定命令的标准输入、输出和错误,要实现这一点就需要使用文件重定向。下面列出了最常用的重定向组合,并给出了相应的文件描述符。 
在对标准错误进行重定向时,必须要使用文件描述符,但是对于标准输入和输出来说,这不是必需的。

常用文件重定向命令 
command > filename 把标准输出重定向到一个新文件中 
command >> filename 把标准输出重定向到一个文件中(追加) 
command 1 > fielname 把标准输出重定向到一个文件中 
command > filename 2>&1 把标准输出和标准错误一起重定向到一个文件中 
command 2> filename 把标准错误重定向到一个文件中 
command 2>> filename 把标准输出重定向到一个文件中(追加) 
command >> filename 2>&1 把标准输出和标准错误一起重定向到一个文件中(追加) 
command < filename >filename2 把c o m m a n d命令以f i l e n a m e文件作为标准输入,以f i l e n a m e 2文件作为标准输出 
command < filename 把c o m m a n d命令以f i l e n a m e文件作为标准输入 
command << delimiter 把从标准输入中读入,直至遇到d e l i m i t e r分界符 
command <&m 把文件描述符m作为标准输入 
command >&m 把标准输出重定向到文件描述符m中 
command <&- 关闭标准输入

分享到:
评论

相关推荐

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

    标准输出文件(stdout)和标准错误输出文件(stderr),这两个文件都对应终端的屏幕。进程将从标准输入文件中得到输入数据,将正常输出数据输出到标准输出文件,而将错误信息送到标准错误文件中。

    标准输入标准输出标准错误输出的源头分析

    程序员都知道一个程序启动后就伴随着该程序而来的3个I/O句柄,标准输入,标准输出和标准错误输出。为什么是这样呢?教材知识告诉我们现象,但从来没有回答为什么。我不知道为什么要刻意或无意的不提这个“为什么”。...

    易语言曙光标准输入输出模块测试源码,易语言重定向输入输出模块

    易语言曙光重定向输出模块源码,曙光重定向输出模块,曙光_初始化标准输入输出,曙光_标准输入,曙光_检查标准输入,曙光_标准输出,曙光_标准错误输出,GetStdHandle,ReadFile_,PeekNamedPipe,WriteFile_,是否在运行,终止,...

    Linux操作之输入输出重定向和管道

     Unix下使用标准输入stdin和标准输出stdout,来表示每个命令的输入和输出,还使用一个标准错误输出stderr用于输出错误信息。这三个标准输入输出系统缺省与控制终端设备相联系在一起的。因此,在标准情况下,每个...

    seliencepuppet#linux#13.管道和标准输入输出1

    如果想要正常输出和错误信息都不显示,则要把标准输出和标准错误都重定向到/dev/null, 例如:还有一种做法是将错误重定向到标准输出,然后再重定向到 /dev

    例程:将CMD的输入输出重定向到自己的进程

    http://blog.csdn.net/goodname008/archive/2005/10/30/519646.aspx

    Linux输入输出重定向详细使用说明

    1、Linux标准输入输出 Linux标准输入、输出设备主要...标准错误输出 2&gt; 2&gt;&gt; 注:其中一个&gt;表示:覆盖原文件中的内容;如果文件不存在,就创建文件;如果文件存在,就将其清空;一般我们备份清理日志文件的时候 两个

    vim编辑器中掌握输入输出重定向与管道命令的应用

    重定向就是不使用系统的标准输入端口、标准输出端口或标准错误端口,而进行重新的指定,所以重定向分为输入重定向、输出重定向和错误重定向。通常情况下,重定向到一个文件。在shell中,要实现重定向主要依靠重定向...

    用户输入阿拉伯数字,输出相应汉字

    利用Java.util 包中的堆栈Stack实现用户输入的阿拉伯数字,输出相应的汉字。

    Linux下的输入/输出重定向.pdf

    0、1和2分别表示标准输入、标准输出和标准错误信息输出,可以用来指定需要重定向的标准输入或输出,比如 2&gt;lee.dat 表示将错误信息输出到文件lee.dat中。 同时,还可以在这三个标准输入输出之间实现重定向,比如将...

    输入输出控制管理模块IOC

    嵌入式运行环境多大是工业应用,输入信号的可靠采集就变得很重要了,一个外部信号的采集错误将会导致程序的的执行错误,及逻辑判断错误。

    linux C 打印错误信息和标准输入输出详细介绍

    主要介绍了linux C 打印错误信息和标准输入输出详细介绍的相关资料,需要的朋友可以参考下

    用例 预期结果 1、输入:本金10000,年限:1 输出:10378.0 2、输入:本金10000,年限:2 输出:10792

    1、输入的时间为负数:-8 提示错误,重新输入 2、输入150 输出4500 3、输入180 输出5700 4、输入220 输出7800 用例 预期结果 1、输入:0 输出:该车拒绝进入停车场! 2、输入:1 0.20 输出:本次停车费用为:5元 3、...

    输出端子.doc

     由电视信号关系可知,我们只需知道Y、Cr、Cb的值就能够得到G(绿色)的值,所以在视频输出和颜色处理过程中就统一忽略绿色差Cg而只保留Y Cr Cb,这便是色差输出的基本定义。作为S-Video的进阶产品,色差输出将S-...

    EasyProcessStreams:简化过程的标准输出,输入和错误

    这三个过程流(输入,输出和错误)在它们可以缓冲多少内容方面都是有限的。 如果内部缓冲区已满,则写入流的任何人都将被阻止,并且我们的.NET应用程序也将被阻止读取到标准输出末尾。 因此,我们发现自己陷入了...

    字符串中加减法main.c

    从标准输入中读入一个整数算术运算表达式,如10+52-28,计算表达式结果,并输出。 要求: 1、表达式运算符只有+、-; 2、表达式中不含圆括号、空格符,而且不会出现错误的表达式; 【输入形式】 ...

    linux输入输出重定向使用详解

    linux中使用重定向符号可以实现输出输入重定向,默认条件下,标准输出和错误输出都是终端,用重定向符号可以把标准输出和错误内容进行重定向,例如把标准输出重定向到文件,看下面的详细解释

Global site tag (gtag.js) - Google Analytics