在linux系統中,大多數命令很簡單,很少出現復雜功能的命令,每個命令往往實現一個或者幾個功能十分簡單的功能,我們可以通過將多個簡單的命令組合在一起來完成復雜的功能。
在linux中幾乎所有的命令返回的都是純文本,因為命令都是運行在CLI下的,而純文本又是命令行的輸入格式,這就讓命令協作成為可能。命令的組合是通過重定向和管道機制完成的。
命令行的數據流有以下定義:
標准輸入 說明 編號 默認
STDIN 標准輸入 0 鍵盤
STDOUT 標准輸出 1 終端
STDEER 標准錯誤 2 終端
通過管道和重定向我們可以控制CLI的數據流。
重定向
> 將標准輸出重定向到文件中,如果文件不存在,那麼創建文件,存在則會覆蓋原來的內容。
>> 將標准輸出重定向到文件中,如果文件不存在,那麼創建文件,存在時會將內容追加到文件結尾
2> 將標准錯誤重定向到文件中
2>&1 將標准錯誤和標准輸出重定向到文件中去
< 重定向標准輸入
管道
將第一個命令的標准輸出作為下一個命令的標准輸出.....