1)介紹
linux中有三種標准輸入輸出,分別是STDIN,STDOUT,STDERR,對應的數字是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 ---標准錯誤重新定向到標准輸出
紅色是標准錯誤,粉絲是標准輸出

