言简意赅解释Linux中的标准输入输出

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了言简意赅解释Linux中的标准输入输出相关的知识,希望对你有一定的参考价值。

一、说明

标准输入0 :从键盘获得输入
标准输出1 :输出到屏幕
错误输出2 :输出到屏幕

二、废话少说,看例子

[[email protected] ~]# echo -e " " | telnet 127.0.0.1 80
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is ‘^]‘.
Connection closed by foreign host.

这个例子里面,标准输入1:(前三行)
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is ‘^]‘.

这个例子里面,错误输出2:(最后一行)
Connection closed by foreign host.

三、把标准输出导入到空洞“/dev/null”,把错误输出输出到屏幕,几种方法:

方法一:
[[email protected] ~]# echo -e " " | telnet 127.0.0.1 80 > /dev/null
Connection closed by foreign host.
方法二:
[[email protected] ~]# echo -e " " | telnet 127.0.0.1 80 2>&1 >/dev/null
Connection closed by foreign host.

四、把错误输出导入到空洞“/dev/null”,把标准输出输出到屏幕,几种方法:

只有一种:
[[email protected] ~]# echo -e " " | telnet 127.0.0.1 80 2> /dev/null
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is ‘^]‘.

五、把不管是标准输出还是错误输出都都导入到空洞“/dev/null”,几种方法:

方法一:
[[email protected] ~]# echo -e " " | telnet 127.0.0.1 80 > /dev/null 2>&1
方法二:
[[email protected] ~]# echo -e " " | telnet 127.0.0.1 80 &> /dev/null

六、建议

几种方法都用的话,会乱,大家一定要有自己的一套方式,本博主的方式如下:
只把标准输出导入到/dev/null(即:屏幕上只显示错误输出):
> /dev/null

只把错误输出导入到/dev/null(即:屏幕上只显示标准输出):
2> /dev/null

不管错误还是标准全导走(即:屏幕上不显示任何输出):
&> /dev/null

总结:“不想看到谁,就在“>”前面加上谁”

以上是关于言简意赅解释Linux中的标准输入输出的主要内容,如果未能解决你的问题,请参考以下文章

一文搞懂Linux下的文件的标准输入标准输出输出重定向问题

C++ 解释器/控制台/片段编译器

Linux中的标准输入输出

Linux标准输入标准输出错误输出

Linux标准输入输出与重定向详解果断收藏

“品品Linux中的输入输出”