shell輸出重定向操做

在linux shell執行命令時,每一個進程都和三個打開的文件相聯繫,並使用文件描述符來引用這些文件。因爲文件描述符不容易記憶,shell同時也給出了相應的文件名。linux

  標準輸入:0(缺省是鍵盤,爲0時是文件或者其餘命令的輸出)shell

  標準輸出:1(缺省是屏幕,爲1時是文件)進程

  標準出錯:2(缺省是屏幕,爲2時是文件)it

系統中實際上有12個文件描述符,能夠任意使用文件描述符3到9.file

 

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

  Command > filename           #把標準輸出重定向到一個新文件中程序

  Command >> filename         #把標準輸出重定向到一個文件中(追加)im

  Command > filename 2>&1         #把標準輸出和錯誤一塊兒重定向到一個文件中重定向

  Command >> filename 2>&1       #把標準輸出和錯誤一塊兒重定向到一個文件(追加)di

  Command  2>filename                #把標準錯誤重定向到一個文件中

  Command  2>>filename      #把標準輸出重定向到一個文件中(追加)

  Command < filename                 #Command命令以filename文件做爲標準輸入

  Command << delimiter     #從標準輸入中讀入,知道遇到delimiter分界符

     Command >&m                         #把標準輸出重定向到文件描述符m中

     Command < &-           #關閉標準輸入

 

n<&- 表示將 n 號輸入關閉
<&- 表示關閉標準輸入(鍵盤)
n>&- 表示將 n 號輸出關閉
>&- 表示將標準輸出關閉
相關文章
相關標籤/搜索