標準輸出和標準輸入和標準錯誤
阿新 • • 發佈:2019-02-18
nbsp 不同 bubuko err 錯誤 amp test 可用 passwd
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 ---標準錯誤重新定向到標準輸出
紅色是標準錯誤,粉絲是標準輸出
標準輸出和標準輸入和標準錯誤