打開的文件都有一個fd:file descriptor(文件描述符)
Linux給程序提供三種I/O設備code
I/O重定向:將默認的輸入,輸出或錯誤對應的設備改變,指向新的目標ip
STDOUT和STDERR能夠被重定向到指定文件,而非默認的當前終端
支持的操做符號包括:基礎
1> 或 > 把STDOUT重定向到文件
2> 把STDERR重定向到文件
&> 把全部輸出重定向到文件
以上若是文件已經存在,文件內容會被覆蓋
file
set -C 禁止將內容覆蓋已有文件,但可追加,利用 >| 仍可強制覆蓋 set +C 容許覆蓋,默認
追加
\>\> 能夠在原有內容基礎上,追加內容
把輸出和錯誤從新定向追加到文件終端
\>\> 追加標準輸出重定向至文件
2>> 追加標準錯誤重定向至文件
標準輸出和錯誤輸出各自定向至不一樣位置
程序
COMMAND > /path/to/file.out 2> /path/to/error.out
合併標準輸出和錯誤輸出爲同一個數據流進行重定向
& > 覆蓋重定向
&>> 追加劇定向error
COMMAND > /path/to/file.out 2>&1 COMMAND >> /path/to/file.out 2>&1
合併多個程序數據
從文件中導入STDIN,代替當前終端的輸入設備,使用 < 來重定向標準輸入
某些命令可以接受從文件中導入的STDIN重定向