<轉>shell-linux標準輸入輸出2>&1

linux中有三種標準輸入輸出,分別是STDIN,STDOUT,STDERR,對應的數(shù)字是0,1,2。
STDIN是標準輸入,默認從鍵盤讀取信息;STDOUT是標準輸出,默認將輸出結果輸出至終端;STDERR是標準錯誤,默認將輸出結果輸出至終端。
由于STDOUT與STDERR都會默認顯示在終端上,為了區(qū)分二者的信息,就有了編號的0,1,2的定義,用1表示STDOUT,2表示STDERR。
2>&1,指將標準輸出、標準錯誤指定為同一輸出路徑

eg1:cat >>filetest 2>&1 <<END -------建立filetest文件,當輸入遇到END時,退出

eg2:
1、以普通用戶執(zhí)行 find /etc -name passwd 命令,默認會將命令的執(zhí)行結果(STDOUT)與錯誤信息(STDERR)都輸出至終端顯示器。
2、執(zhí)行find /etc -name passwd >find.out 2>find.err,會將STDOUT與STDERR分別存放至find.out和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
3、若要將所有標準輸出及標準錯誤都輸出至文件,可用&表示全部1和2的信息,eg:
find /etc -name passwd &>find.all 或 find /etc -name passwd >find.all 2>&1
4、2>&1 ---標準錯誤重新定向到標準輸出
5、用法:find /etc -name passwd &2>&1 |less
可分解成
find /etc -name passwd & 表示前面的命令放到后臺執(zhí)行。
2>&1 |less 表示將標準錯誤重定向至標準輸出,并用less進行分頁顯示

轉自:https://www.cnblogs.com/jacob-tian/p/6110606.html

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容