shell輸出重定向操作

2021-06-26 03:41:41 字數 930 閱讀 2888

在linux shell執行命令時,每個程序都和三個開啟的檔案相聯絡,並使用檔案描述符來引用這些檔案。由於檔案描述符不容易記憶,shell同時也給出了相應的檔名。

標準輸入:0(預設是鍵盤,為0時是檔案或者其他命令的輸出)

標準輸出:1(預設是螢幕,為1時是檔案)

標準出錯:2(預設是螢幕,為2時是檔案)

系統中實際上有12個檔案描述符,可以任意使用檔案描述符3到9.

檔案重定向:改變程式執行的輸入**和輸出地點

command > filename           #把標準輸出重定向到乙個新檔案中

command >> filename         #把標準輸出重定向到乙個檔案中(追加)

command > filename 2>&1         #把標準輸出和錯誤一起重定向到乙個檔案中

command >> filename 2>&1       #把標準輸出和錯誤一起重定向到乙個檔案(追加)

command  2>filename                #把標準錯誤重定向到乙個檔案中

command  2>>filename      #把標準輸出重定向到乙個檔案中(追加)

command < filename                 #command命令以filename檔案作為標準輸入

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

command >&m                         #把標準輸出重定向到檔案描述符m中

command < &-           #關閉標準輸入

n<&- 表示將 n 號輸入關閉

<&- 表示關閉標準輸入(鍵盤)

n>&- 表示將 n 號輸出關閉

>&- 表示將標準輸出關閉

shell輸出重定向操作

在linux shell執行命令時,每個程序都和三個開啟的檔案相聯絡,並使用檔案描述符來引用這些檔案。由於檔案描述符不容易記憶,shell同時也給出了相應的檔名。標準輸入 0 預設是鍵盤,為0時是檔案或者其他命令的輸出 標準輸出 1 預設是螢幕,為1時是檔案 標準出錯 2 預設是螢幕,為2時是檔案 ...

shell中輸入重定向,輸出重定向,管道

什麼是檔案描述符 1 程序中開啟乙個檔案就會有乙個檔案描述符 2 檔案描述符是乙個非負整數 3 系統為每乙個程序維護乙個檔案描述符表 程序級檔案描述符 4 同乙個程序裡面不同檔案描述符可以對應同乙個檔案 乙個檔案被開啟多次 5 不同程序的檔案描述符可以相同 不影響 可以指向同乙個檔案,也可以指向不同...

Shell 輸入 輸出重定向

大多數 unix 系統命令從你的終端接受輸入並將所產生的輸出傳送回 到您的終端。乙個命令通常從乙個叫標準輸入的地方讀取輸入,預設情況下,這恰好是你的終端。同樣,乙個命令通常將其輸出寫入到標準輸出,預設情況下,這也是你的終端。重定向命令列表如下 命令說明 command file 將輸出重定向到 fi...