shell輸出輸入資料流常用符號解釋

來源:互聯網
上載者:User

>> 追加

> 覆蓋

>& 把前面的儲存位置設定成後面的儲存位置

P.S.:當然還有反的<< < <&意思就是方向不一樣啦、往後追加變成往前追加、這就不重複寫了

0 標準輸入

1 標準輸出

2 標準錯誤

 

例子:

 

ls /usr/tmp 2> err.file

把命令所產生的錯誤寫入到err.file檔案中、如果不存在則建立、如果存在則覆蓋

ls /usr/tmp &> output.file

把錯誤和輸出資訊都寫入到err.file檔案中、如果不存在則建立、如果存在則覆蓋

command 2>&1

把標準錯誤資訊輸出到標準輸出的同一位置上、commadn代表任何命令、這段話其實是廢話、加上去和直接運行command無區別、因為標準輸出的位置就是輸出在螢幕上、標準錯誤資訊把位置輸出標準輸出的位置上、也就是螢幕上、等於沒做過任何改變、因為標準錯誤和標準輸出資訊本來就是一樣輸出在螢幕上、不然莪們還怎麼操作linux啊、囧

 

command >output_file 2>&1

這個命令就開始有點意思了、command同樣代表任何命令、邇可以是ls顯示目錄、也可以是lsdflsl這樣的錯誤命令、當然、邇輸入正確的命令得到的將會是標準輸出資訊、輸入錯誤的命令得到的就是標準錯誤的資訊、好吧、這個命令的前半部分意思就是把命令的結果輸入到output_file這個檔案中、如果沒有就建立、存在就覆蓋、當然這個命令的結果可能是正確的命令也可能是錯誤的、但有一點是不變的、就是如果是標準輸出資訊就一定會把資訊放進output_file檔案中、所以當邇輸入ls這樣的正確命令當然是把標準輸出的命令寫進去output_file啦、如果邇輸入的是lsdfsf這樣錯誤的命令標準輸出的命令當然是不會在output_file寫上任何資訊啦、但由於有後面的那句、2>&1、意思就是標準錯誤資訊會同樣往標準輸出資訊同樣的位置寫入、所以就算標準輸出沒有任何資訊寫入、發生錯誤時標準錯誤還是會往output_file寫上任何錯誤資訊、所以這條命令和ll &>output.file意思其實是一樣的、

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.