I (input)? ? ? 輸入
O (output) 輸出
程序:指令 +? 數據
打開的文件都有 fd :(file descripfor)文件描述符
標準輸入? ?(STDIN)? ? ? ? ? ? ? -0? ? ? 默認輸入是鍵盤
標準輸出? ?(STDOUT)? ? ? ? ? -1? ? ? ?默認輸出是終端窗口
標準錯誤? ?(STDERR)? ? ? ? ? -2? ? ? 默認錯誤是終端窗口
標準輸出? ?ls? ?1> /data/ls.out? ?(假如沒有ls.out,就先創建ls.out)(1也可以省略不寫)
標準錯誤 用一個不存在的命令? cmd? ?> /data/ls.out
錯誤命令直接顯示到終端窗口
分別重定向 (用不存在的命令和一個真命令) ls? ? /eeror? ? /data? ?>f1? ?2>f2
分別吧正確的定向到 f1 錯誤定向到f2里面
也可以追加 用>>? ? ? ?ls? ? /eeror? ? /data? ?>>f1? ?2>>f2? 顯示2遍內容
也可以把錯的和對的放在一個文件中? ls? ?/error? ?/data? ?>all.log 3? ?2>&1
也可以寫成? ls /error /data? &>all.log3
把標準輸出和標準錯誤重新定向到文件中
(STDOUT)標準輸出和(STDERR)標準錯誤可以被重定向到文件中
命令 + 操作符? +? 文件名
>? : 把標準輸出重定向到文件
2>:? ?把標準錯誤重定向到文件
&>:把所有的輸出定向到文件
“>”? ?文件內容會被覆蓋
set? -C? ?禁止將內容覆蓋已有的文件,但可以追加
>|? ? ? ?強制覆蓋
set? ?+C? 允許覆蓋
>> 在原有的基礎上追加內容
多命令的重定向? ls? >all.log3? ? pwd? >>all.log3
也可以(ls;pwd) >all.log3 和上面顯示的是一樣的
>>f1 創建新文件,但不會覆蓋,它是追加
>f1? ?和? touch f1 創建已有的文件會改變創建的時間
標準輸入命令(STDIN)
<? ?把標準輸入重定向到文件
cat? ?即有標準輸出也有標準輸入
把輸出和錯誤重新定向到文件
2>? ? 覆蓋錯誤重定向輸出流數據
2>>追加錯誤重定向輸出流數據
合并標準輸出和錯誤輸出為同一個數據流進行重定向
&>? ? ?覆蓋重定向
&>>? 追加重定向
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/95913