重定向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 當中!錯誤與正確檔案輸出到同一個檔案中,則必須以上面的方法來寫!不能寫成其它格式!
[test @test test]# ls -al 1> list.txt 2> /dev/null
將顯示的資料,正確的輸出到 list.txt 錯誤的資料則予以丟棄! /dev/null ,可以說成是黑洞裝置。為空,即不保存。
1.4為何要使用命令輸出重導向
? 當螢屏輸出的資訊很重要,而且我們需要將他存下來的時候;
? 背景執行中的程式,不希望他干擾螢屏正常的輸出結果時;
? 一些系統的例行命令(例如寫在 /etc/crontab 中的檔案)的執行結果,希望他可以存下來時;
? 一些執行命令,我們已經知道他可能的錯誤訊息,所以想以『 2> /dev/null 』將他丟掉時;
? 錯誤訊息與正確訊息需要分別輸出時。 轉:http://blog.csdn.net/songyang516/article/details/6758256
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/63262.html
標籤:專題技術討論區
上一篇:ubuntu python 虛擬環境設定問題——the application virtualenv has stopped unexpectedly
