在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...