1. 程式人生 > >標準輸出和標準輸入和標準錯誤

標準輸出和標準輸入和標準錯誤

nbsp 不同 bubuko err 錯誤 amp test 可用 passwd

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 ---標準錯誤重新定向到標準輸出

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

技術分享圖片

標準輸出和標準輸入和標準錯誤