linux中檔案描述符
linux跟蹤打開檔案,而配置設定的一個數字,通過這個數字可以實作對檔案的讀寫操作
使用者可以自定義檔案描述符範圍是:3-max,max跟使用者的ulimit –n 定義數字有關系,不能超過最大值
在執行shell指令時,會預設3個檔案描述符,分别是:
0 :通常是标準輸入(STDIN)
1 :是标準輸出(STDOUT)
2 :是标準錯誤輸出(STDERR)
執行shell指令中,會先有輸入然後才會有輸出。輸入可以從鍵盤、檔案中獲得,指令執行成功後會将結果輸出到系統預設的位置(預設位置是螢幕)
而重定向則是改變輸入輸出的預設位置
重定向指令格式
command > file:将輸出重定向到 file
command < file:将輸入重定向到 file
command >> file:将輸出以追加的方式重定向到 file
n > file:将檔案描述符為 n 的檔案重定向到 file
n >> file:将檔案描述符為 n 的檔案以追加的方式重定向到 file
n >& m:将輸出檔案 m 和 n 合并
n <& m:将輸入檔案 m 和 n 合并
<< tag:将開始标記 tag 和結束标記 tag 之間的内容作為輸入
輸出重定向
使用“>”時,輸出重定向會覆寫檔案内容,如果不希望檔案内容被覆寫,可以使用 ”>> “
示例

輸入重定向
将需要從鍵盤擷取輸入的指令會轉移到檔案讀取内容
将num.sh中的數字重定向到sort指令的輸入端,sort對這些數字排序後輸出
标準錯誤進行重定向
command > file 2>&1:将标準輸出檔案(stdout)和 标準錯誤檔案(stderr) 合并後重定向到 file
command > file 2>&1:将 标準輸出檔案(stdout)和 标準錯誤檔案(stderr)合并後重定向到 file
command > /dev/null:不希望在螢幕上顯示輸出結果,則将輸出重定向到 /dev/null