今天學習了Linux下的管道和重定向。
介紹着兩個概念之前,要先說明幾個概念,在Linux命令行操作的模式下,有三種狀態:標準輸入,標準輸出,標準錯誤輸出。
其中他們三種都有一個值代表,標準輸入0,標準輸出1,標準錯誤輸出2
這三個概念很好理解,這裏不多做解釋。
那麼問題來了,我們在使用命令行的時候,都是使用鍵盤輸入命令,結果顯示在終端上,我想把返回的結果存成一個文件,怎麼辦?這裏就用到了重定向
假如我使用了ls命令,想把顯示的結果保存爲ls_output文件,我們可以用重定向完成。
ls > ls_output
這個命令就可以完成啦,重定向有很多用法,我在下邊列出
名稱 符號 說明
> 輸出到文件(覆蓋原內容)
>> 輸出到文件(追加)
重定向 2> 輸出標準錯誤(覆蓋原內容)
2&>l 標準輸出和標準錯誤輸出結合
< 標準輸入
其中,標準輸入就是把文件的內容當做鍵盤輸入
除了重定向,還有管道。所謂管道,就是程序會像管子一樣,將前一個命令的輸出,作爲後一個命令的輸入
管道的用法是在兩個命令中間用“|”來分隔
例如,ls -a | grep zw
這個命令,就代表要找出所有包含zw的文件或文件夾,ls -a的輸出結果,作爲了grep命令的輸入,得到的最後的結果。