重定向符號和tee命令區別


 

來源:http://zyp88.blog.51cto.com/1481591/1604036        
功能說明:讀取標准輸入的數據,並將其內容輸出成文件。

語  法:tee [-ai][--help][--version][文件...]

補充說明:tee指令會從標准輸入設備讀取數據,將其內容輸出到標准輸出設備,同時保存成文件。

參  數:
 -a或--append  附加到既有文件的后面,而非覆蓋它.
 -i-i或--ignore-interrupts  忽略中斷信號。
 --help  在線幫助。
 --version  顯示版本信息。

 

一,重定向
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>

 

 

[root@localhost ~]# who | tee who.out
root     pts/0        2009-02-17 07:47 (123.123.123.123)
[root@localhost ~]# cat who.out
root     pts/0        2009-02-17 07:47 (123.123.123.123)
[root@localhost ~]# pwd | tee -a who.out
/root
[root@localhost ~]# cat who.out
root     pts/0        2009-02-17 07:47 (123.123.123.123)
/root
[root@localhost ~]# echo "I LOVE YOU" | tee 1.txt

 

I LOVE YOU

[root@localhost ~]# echo "I LOVE YOU" | tee  -a 1.txt

I LOVE YOU

[root@localhost ~]#cat  1.txt

I LOVE YOU

I LOVE YOU

 

 

[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 ,可以說成是黑洞裝置。為空,即不保存。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM