十句話教你學會Linux資料流重新導向 1、看到重新導向一下子就想起了web裡面的redirect,沒錯,但是Linux資料流重新導向的作用不是跳到另一個網頁,而是用來儲存重要的螢幕資訊、將不必要的螢幕資訊輸出到檔案裡或者“黑洞”裡、將錯誤資訊和正確資訊分開儲存,或者只顯示正確資訊等等~ 2、資料流重新導向分為標準輸入(代碼為0,使用<或<<)、標準輸出(代碼為1,使用>或>>)、標準錯誤(代碼為2,使用2>或2>>)輸出這三種。 3、標準輸入 > 例子:ls -l / >dir.txt 表示將根目錄下的所有顯示資訊輸出到檔案dir.txt裡面 4、如果希望繼續在dir.txt裡面輸出東西,但不覆蓋之前的資訊,使用>>,比如ls /home >>dir.txt再看看dir.txt裡面,就會發現末尾多了ls /home的結果。如果使用>的話,就會覆蓋前面的內容哦!>輸出是不能累加的! 5、如果想用另一個檔案中的內容輸入到dir.txt,可以這樣 cat > dir.txt <report/build.xml (不保留檔案裡原有的內容)或者cat >> dir.txt <report/build.xml (保留檔案裡原有的內容) 6、運行shell後,如果想將螢幕資訊中正確的和錯誤的資訊分別存於兩個檔案。比如,系統中並沒有qwert這個檔案,但是有dir.txt這個檔案,find dir.txt qwert >right_lisit 2>wrong_list 一定要使用2> 輸出錯誤資訊 7、有些錯誤事先已經知道了,而且無關緊要,沒有必要在螢幕上顯示,也沒有必要存到檔案裡,可以這樣find dir.txt qwert 2>/dev/null這樣就可以將錯誤資訊扔進“黑洞”了~,如果你有興趣可以去/dev/null,看一下~ 裡面什麼都沒有的。。。 8、如果想將正確資訊和錯誤資訊都紀錄下來,find dir.txt qwert >list.txt 2>&1 9、通過> 也可以建立檔案哦~ cat > newfile 10、還有一個<<沒有介紹,這個和他的“另一半”>>可不一樣,並不表示累加,而表示輸入的結束。比如:cat > newfile <<"over"然後你就可以輸入檔案的內容啦12345上山打老虎over執行cat newfile命令,可以看到,檔案裡面沒有over字樣哦~,over只是我們自己定義的一個作為輸入結束的標示符而已~