標准輸出和標准輸入和標准錯誤


1)介紹

linux中有三種標准輸入輸出,分別是STDINSTDOUTSTDERR,對應的數字是0,1,2。

STDIN是標准輸入,默認從鍵盤讀取信息;

STDOUT是標准輸出,默認將輸出結果輸出至終端;

STDERR是標准錯誤,默認將輸出結果輸出至終端。

 由於STDOUT與STDERR都會默認顯示在終端上,為了區分二者的信息,就有了編號的0,1,2的定義,用1表示STDOUT,2表示STDERR

2)測試:

cat >>filetest 2>&1 <<END      -------cat將鍵盤敲打的內容以標准輸入,輸入到filetest文件,當輸入遇到END時,退出。這一項是非常有用的。

3)將標准輸出、標准錯誤分別輸出到不同log和err文件

將標准輸出、標准錯誤都到桌面上:find /etc -name passwd  

將標准輸出到log文件,標准錯誤到err文件到上:find /etc -name passwd  >>find.log  2>>find.err  

也可以寫成:

find /etc -name passwd 1>find.out 2>find.err
find /etc -name passwd 2>find.err >find.out
find /etc -name passwd 2>find.err 1>find.out

4)標准輸出及標准錯誤都輸出至文件,可用&表示全部1和2的信息,eg

find /etc -name passwd &>find.all

或者

find /etc -name passwd >find.all 2>&1            #    2>&1 ---標准錯誤重新定向到標准輸出

紅色是標准錯誤,粉絲是標准輸出

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM