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