xy總結(jié)linux的標(biāo)準(zhǔn)輸入標(biāo)準(zhǔn)輸出

在shell執(zhí)行命令時,每個進程都和三個打開的文件相聯(lián)系,并使用文件描述符來引用這些文件。由于文件描述符不容易記憶,shell同時也給出了相應(yīng)的文件名:

文件&文件描述符

  • 輸入文件—標(biāo)準(zhǔn)輸入
    0(缺省是鍵盤,為0時是文件或者其他命令的輸出)

  • 輸出文件—標(biāo)準(zhǔn)輸出
    1(缺省是屏幕,為1時是文件)

  • 錯誤輸出文件—標(biāo)準(zhǔn)錯誤
    2(缺省是屏幕,為2時是文件)

  • 系統(tǒng)中實際上有12個文件描述符,我們可以任意使用文件描述符3到9.

文件重定向:改變程序運行的輸入來源和輸出地點

  • 輸出重定向:

Command > filename
把標(biāo)準(zhǔn)輸出重定向到一個新文件中

Command >> filename
把標(biāo)準(zhǔn)輸出重定向到一個文件中(追加)

Command > filename
把標(biāo)準(zhǔn)輸出重定向到一個文件中

Command > filename 2>&1
把標(biāo)準(zhǔn)輸出和錯誤一起重定向到一個文件中
可以把2>&1理解為一個參數(shù)(2&1),為了轉(zhuǎn)義,&前加>

Command 2 > filename
把標(biāo)準(zhǔn)錯誤重定向到一個文件中

Command 2 >> filename
把標(biāo)準(zhǔn)輸出重定向到一個文件中(追加)

Command >> filename2>&1
把標(biāo)準(zhǔn)輸出和錯誤一起重定向到一個文件(追加)

  • 輸入重定向:

Command < filename > filename2
Command命令以filename文件作為標(biāo)準(zhǔn)輸入,以filename2文件作為標(biāo)準(zhǔn)輸出

Command < filename
Command命令以filename文件作為標(biāo)準(zhǔn)輸入

Command << delimiter
從標(biāo)準(zhǔn)輸入中讀入,直到遇到delimiter分界符

綁定重定向

Command >&m
把標(biāo)準(zhǔn)輸出重定向到文件描述符m中

Command < &-
關(guān)閉標(biāo)準(zhǔn)輸入

Command 0>&-
同上

shell重定向的一些常用用法

  • 重定向標(biāo)準(zhǔn)錯誤
    例子1:command 2> /dev/null如果command執(zhí)行出錯,將錯誤的信息重定向到空設(shè)備
    例子2:command > out.put 2>&1將command執(zhí)行的標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯誤重定向到out.put(也就是說不管command執(zhí)行正確還是錯誤,輸出都打印到out.put)。
  • 一般因為單元測試耗時時間長,我會選擇把測試過程后臺運行,并把結(jié)果放在一個特定的文件中
    例如: nosetests tests/test_sys.py -v > ../nosetest.txt 2>&1
    只需要回頭看那個文件結(jié)果即可

參考:
http://zqwt.012.blog.163.com/blog/static/1204468420103272857116/
http://www.cnblogs.com/chengmo/archive/2010/10/20/1855805.html
http://blog.csdn.net/flowingflying/article/details/5201199

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

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

  • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經(jīng)改了很多 但是錯誤還是無法避免 以后資料會慢慢更新 大...
    數(shù)據(jù)革命閱讀 13,307評論 2 33
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,678評論 19 139
  • Ubuntu的發(fā)音 Ubuntu,源于非洲祖魯人和科薩人的語言,發(fā)作 oo-boon-too 的音。了解發(fā)音是有意...
    螢火蟲de夢閱讀 100,796評論 9 468
  • 愚人節(jié),是一個套路和反套路的日子。 要么你娛樂別人,要么你被人娛樂。
    CristPenn閱讀 276評論 0 1
  • 來說說我的開學(xué)第一天吧。 五點,到達(dá)北國春城——長春。這里有我想到的一切:高樓,花朵,寬廣的廣場,涼爽的空氣,潔凈...
    逸黎閱讀 285評論 0 1

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