利用Linux所提供的管道符“|”將兩個(gè)命令隔開(kāi),管道符左邊命令的輸出就會(huì)作為管道符右邊命令的輸入。 連續(xù)使用管道意味著第一個(gè)命令的輸出會(huì)作為 第二個(gè)命令的輸入,第二個(gè)命令的輸出又會(huì)作為第三個(gè)命令的輸入,依此類推。下面來(lái)看看管道是如何在構(gòu)造一條Linux命令中得到應(yīng)用的。
10年積累的成都做網(wǎng)站、網(wǎng)站制作經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站策劃后付款的網(wǎng)站建設(shè)流程,更有柳北免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
注意:
1、管道命令只處理前一個(gè)命令正確輸出,不處理錯(cuò)誤輸出。
2、管道命令右邊命令,必須能夠接收標(biāo)準(zhǔn)輸入流命令才行。
這條命令使用一個(gè)管道符“|”建立了一個(gè)管道。管道將rpm -qa命令的輸出(包括系統(tǒng)中所有安裝的RPM包)作為grep命令的輸入,從而列出帶有l(wèi)icq字符的RPM包來(lái)。
這條命令使用了兩個(gè)管道,利用第一個(gè)管道將cat命令(顯示passwd文件的內(nèi)容)的輸出送給grep命令,grep命令找出含有“/bin /bash”的所有行;第二個(gè)管道將grep的輸出送給wc命令,wc命令統(tǒng)計(jì)出輸入中的行數(shù)。這個(gè)命令的功能在于找出系統(tǒng)中有多少個(gè)用戶使用bash。
區(qū)別是:
1、左邊的命令應(yīng)該有標(biāo)準(zhǔn)輸出 | 右邊的命令應(yīng)該接受標(biāo)準(zhǔn)輸入
左邊的命令應(yīng)該有標(biāo)準(zhǔn)輸出 右邊只能是文件
左邊的命令應(yīng)該需要標(biāo)準(zhǔn)輸入 右邊只能是文件
2、管道觸發(fā)兩個(gè)子進(jìn)程執(zhí)行"|"兩邊的程序;而重定向是在一個(gè)進(jìn)程內(nèi)執(zhí)行
這些都是網(wǎng)上總結(jié)很多的,其實(shí)只要多加清楚用法,也一定有自己的一份不同描述。
shift+|或\,或外接標(biāo)準(zhǔn)鍵盤上回刪鍵左邊的那個(gè),因?yàn)殒I盤不同所以組合不同,在linux中,
“
|
”
就是管道符,你可試一下
學(xué)習(xí)管道之前我們先了解一下linux的命令執(zhí)行順序
通常情況下,我們?cè)诮K端只能執(zhí)行一條命令,然后按下回車執(zhí)行,那么如何執(zhí)行多條命令呢?
管道命令使用 | 作為界定符號(hào),管道命令與上面說(shuō)的連續(xù)執(zhí)行命令不一樣。
通過(guò)管道將 ls -al 的輸出作為 下一個(gè)命令 less 的輸入,方便瀏覽。
ps:cut在處理多空格相連的數(shù)據(jù)時(shí),比較吃力。
sort
如果tee后接的文件已存在,內(nèi)容會(huì)被覆蓋掉,加上 -a參數(shù)則會(huì)累加
col經(jīng)常被用于將 man page 轉(zhuǎn)存為純文本文件
split:顧名思義,講一個(gè)大文件依據(jù)文件大小或行數(shù)切割成為小文件