鳥哥Linux學習之——數據流重定向

一、標準輸出與標準錯誤輸出
在說明數據流重定向之前,需要先了解幾個概念,即“標準輸出(standard output)”和“標準錯誤輸出(standard error output)”。
簡單來說,標準輸出是指命令執行後所回傳的正確的信息,而標準錯誤輸出爲命令執行失敗後所回傳的錯誤信息。
舉個例子:
標準輸出:cat後會將文件的內容顯示出來
                  
標準錯誤輸出:cat不存在的文件,會輸出一個錯誤信息
                  

二、數據流重定向
通過上面的例子知道了標準輸出與標準錯誤輸出,那麼當某些情況下,屏幕上同時出現正確信息與錯誤信息,會有混亂的感覺,此時,就需要使用數據流重定向將標準輸出與標準錯誤輸出分別傳送到其他文件或設備上去。傳送數據的特殊字符如下:
1、標準輸出(stdout):代碼爲1,使用>或>>(1>或1>>),不加代碼時,默認爲1
說明:將正確信息不在屏幕輸出,而是轉存到一個文件中
例:

2、標準錯誤輸出(stderr):代碼爲2,使用2>或2>>
說明:將錯誤信息不在屏幕輸出,而是轉存到一個文件中
3、標準輸入(stdin):代碼爲0,使用<或<<
說明:可以理解爲以某個文件內容或命令結果代替鍵盤輸入

ps:
1>:以覆蓋的方式將正確的數據輸出到指定的文件或設備上
1>>:以累加的方式將正確的數據輸出到指定的文件或設備上
2>:以覆蓋的方式將錯誤的數據輸出到指定的文件或設備上
2>>:以累加的方式將錯誤的數據輸出到指定的文件或設備上
將正確信息和錯誤信息輸出到同一個文件:舉例說明:
find /home -name .bashrc > list 2>&1
find /home -name .bashrc &> list

三、其他用法
1、>>也可以用來創建文件,或者給文件添加內容
例:echo 'string' >> a.txt



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章