言簡意賅解釋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說明:只在“>”前面加東西,這樣便於我們記憶,其他的別多想,想多了會亂!!!