簡介
在計算領域,重定向是大多數命令行解釋器所具有的功能,包括各種可以將標準流重定向用戶規定地點的Unix shells。類Unix操作系統的程序可以通過dup2系統調用完成重定向,或者通過缺少一些靈活性但是更高一級層次的freopen(3)和popen來完成。
1重定向
1.1 重定向符號
> 輸出重定向到一個文件或設備 覆蓋原來的文件
>! 輸出重定向到一個文件或設備 強制覆蓋原來的文件
>> 輸出重定向到一個文件或設備 追加原來的文件
< 輸入重定向到一個程序
1.2標準錯誤重定向符號
2> 將一個標準錯誤輸出重定向到一個文件或設備 覆蓋原來的文件 b-shell
2>> 將一個標準錯誤輸出重定向到一個文件或設備 追加到原來的文件
2>&1 將一個標準錯誤輸出重定向到標準輸出 注釋:1 可能就是代表 標準輸出
>& 將一個標準錯誤輸出重定向到一個文件或設備 覆蓋原來的文件 c-shell
|& 將一個標準錯誤 管道 輸送 到另一個命令作為輸入
1.3命令重導向示例
在 bash 命令執行的過程中,主要有三種輸出入的狀況,分別是:
1. 標準輸入;代碼為 0 ;或稱為 stdin ;使用的方式為 <
2. 標準輸出:代碼為 1 ;或稱為 stdout;使用的方式為 1>
3. 錯誤輸出:代碼為 2 ;或稱為 stderr;使用的方式為 2>
[test @test test]# ls -al > list.txt
將顯示的結果輸出到 list.txt 文件中,若該文件以存在則予以取代!
[test @test test]# ls -al >> list.txt
將顯示的結果累加到 list.txt 文件中,該文件為累加的,舊數據保留!
[test @test test]# ls -al 1> list.txt 2> list.err
將顯示的數據,正確的輸出到 list.txt 錯誤的數據輸出到 list.err
[test @test test]# ls -al 1> list.txt 2> &1
將顯示的數據,不論正確或錯誤均輸出到 list.txt 當中!錯誤與正確文件輸出到同一個文件中,則必須以上面的方法來寫!不能寫成其它格式!
新聞熱點
疑難解答