当我们在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 <&- 关闭标准输入
分享到:
相关推荐
标准输出文件(stdout)和标准错误输出文件(stderr),这两个文件都对应终端的屏幕。进程将从标准输入文件中得到输入数据,将正常输出数据输出到标准输出文件,而将错误信息送到标准错误文件中。
程序员都知道一个程序启动后就伴随着该程序而来的3个I/O句柄,标准输入,标准输出和标准错误输出。为什么是这样呢?教材知识告诉我们现象,但从来没有回答为什么。我不知道为什么要刻意或无意的不提这个“为什么”。...
易语言曙光重定向输出模块源码,曙光重定向输出模块,曙光_初始化标准输入输出,曙光_标准输入,曙光_检查标准输入,曙光_标准输出,曙光_标准错误输出,GetStdHandle,ReadFile_,PeekNamedPipe,WriteFile_,是否在运行,终止,...
Unix下使用标准输入stdin和标准输出stdout,来表示每个命令的输入和输出,还使用一个标准错误输出stderr用于输出错误信息。这三个标准输入输出系统缺省与控制终端设备相联系在一起的。因此,在标准情况下,每个...
如果想要正常输出和错误信息都不显示,则要把标准输出和标准错误都重定向到/dev/null, 例如:还有一种做法是将错误重定向到标准输出,然后再重定向到 /dev
http://blog.csdn.net/goodname008/archive/2005/10/30/519646.aspx
1、Linux标准输入输出 Linux标准输入、输出设备主要...标准错误输出 2> 2>> 注:其中一个>表示:覆盖原文件中的内容;如果文件不存在,就创建文件;如果文件存在,就将其清空;一般我们备份清理日志文件的时候 两个
重定向就是不使用系统的标准输入端口、标准输出端口或标准错误端口,而进行重新的指定,所以重定向分为输入重定向、输出重定向和错误重定向。通常情况下,重定向到一个文件。在shell中,要实现重定向主要依靠重定向...
利用Java.util 包中的堆栈Stack实现用户输入的阿拉伯数字,输出相应的汉字。
0、1和2分别表示标准输入、标准输出和标准错误信息输出,可以用来指定需要重定向的标准输入或输出,比如 2>lee.dat 表示将错误信息输出到文件lee.dat中。 同时,还可以在这三个标准输入输出之间实现重定向,比如将...
嵌入式运行环境多大是工业应用,输入信号的可靠采集就变得很重要了,一个外部信号的采集错误将会导致程序的的执行错误,及逻辑判断错误。
主要介绍了linux C 打印错误信息和标准输入输出详细介绍的相关资料,需要的朋友可以参考下
1、输入的时间为负数:-8 提示错误,重新输入 2、输入150 输出4500 3、输入180 输出5700 4、输入220 输出7800 用例 预期结果 1、输入:0 输出:该车拒绝进入停车场! 2、输入:1 0.20 输出:本次停车费用为:5元 3、...
由电视信号关系可知,我们只需知道Y、Cr、Cb的值就能够得到G(绿色)的值,所以在视频输出和颜色处理过程中就统一忽略绿色差Cg而只保留Y Cr Cb,这便是色差输出的基本定义。作为S-Video的进阶产品,色差输出将S-...
这三个过程流(输入,输出和错误)在它们可以缓冲多少内容方面都是有限的。 如果内部缓冲区已满,则写入流的任何人都将被阻止,并且我们的.NET应用程序也将被阻止读取到标准输出末尾。 因此,我们发现自己陷入了...
从标准输入中读入一个整数算术运算表达式,如10+52-28,计算表达式结果,并输出。 要求: 1、表达式运算符只有+、-; 2、表达式中不含圆括号、空格符,而且不会出现错误的表达式; 【输入形式】 ...
linux中使用重定向符号可以实现输出输入重定向,默认条件下,标准输出和错误输出都是终端,用重定向符号可以把标准输出和错误内容进行重定向,例如把标准输出重定向到文件,看下面的详细解释