1. 程式人生 > >總結linux中管線和資料流重導向的詳解及區別

總結linux中管線和資料流重導向的詳解及區別

以下是自己的理解,有錯誤請指正下,謝謝

一:資料流重導向:我覺得就是把命令產生的結果儲存到檔案或者裝置, 或者把檔案或者裝置的內容傳給命令。

     如:我要查出/dev 下所有的目錄檔案:

     例1 把命令產生的結果儲存到檔案或者裝置:

      ls -al /dev  //輸入之後,會顯示很多,整個螢幕都顯示不了

      這時 我們可以利用資料流重導向(輸出),導到當前目錄的a.txt檔案

      ls -al /dev > a.txt // 這樣,我們就把螢幕顯示的類容儲存到當前目錄的a.txt,在輸入 more a.txt 來檢視內容。  

      例2:把檔案或者裝置的內容傳給命令

      more < a.txt  //這樣就可以檢視當前目錄的a.txt中的內容。當然,你也可以直接用 more a.txt  來檢視a.txt的類容

二:管線  也就是說吧 一個命令的輸出結果作為下一命令的輸入,然後依次迴圈下去

      例3:

      ls -al /dev | grep 'root'  // 首先,ls是把dev下的目錄個檔案顯示出來,而grep是吧帶有'root' 類容的行顯示出來。所以,整個指令的結果就是,先把ls產生的結果作為grep指令的輸入,然後再篩選出帶有'root'的行,並顯示在螢幕上,不帶'root' 的行不會顯示

由於沒帶圖,所以理解起來可能有點那個。。。