1. 程式人生 > >言簡意賅解釋Linux中的標準輸入輸出

言簡意賅解釋Linux中的標準輸入輸出

一、說明

標準輸入0 :從鍵盤獲得輸入
標準輸出1 :輸出到螢幕
錯誤輸出2 :輸出到螢幕

二、廢話少說,看例子

[[email protected] ~]# echo -e "\n" | 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 "\n" | telnet 127.0.0.1 80 > /dev/null
Connection closed by foreign host.
方法二:
[[email protected] ~]# echo -e "\n" | telnet 127.0.0.1 80 2>&1 >/dev/null
Connection closed by foreign host.

四、把錯誤輸出匯入到空洞“/dev/null”,把標準輸出輸出到螢幕,幾種方法:

只有一種:
[[email protected] ~]# echo -e "\n" | 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 "\n" | telnet 127.0.0.1 80 > /dev/null 2>&1
方法二:
[[email protected]

~]# echo -e "\n" | telnet 127.0.0.1 80 &> /dev/null

六、建議

幾種方法都用的話,會亂,大家一定要有自己的一套方式,本博主的方式如下:
只把錯誤輸出匯入到/dev/null:
> /dev/null

只把標準輸出匯入到/dev/null:
2> /dev/null

不管錯誤還是標準全導走:
&> /dev/null

說明:只在“>”前面加東西,這樣便於我們記憶,其他的別多想,想多了會亂!!!