這次我們來(lái)分享一個(gè)Linux中有趣的一個(gè)命令,管道命令。
可能很多攻城獅們都只是使用,沒(méi)有去研究,那我們就順著文章一探究竟。
先來(lái)給大家看個(gè)圖
通過(guò)這個(gè)圖我們可以看出,其實(shí)管道就是通過(guò)豎線(xiàn)“|”來(lái)連接多個(gè)命令,以前面命令的輸出作為后面一個(gè)命令的輸入,以此類(lèi)推。
我們需要注意的是:管道命令后面接的命令必須能夠接收輸入的命令,不能使用不能接收輸入的命令,比如ls、cp、mv等
那我們通過(guò)案例來(lái)講解這個(gè)命令。
l入門(mén)用法
現(xiàn)在我們要通過(guò)管道命令,查看包含“usr”的進(jìn)程,首先我們通過(guò)ps -ef來(lái)查看所有的進(jìn)程,如圖:
ps命令用于報(bào)告當(dāng)前系統(tǒng)進(jìn)程狀態(tài),-e參數(shù)表示顯示當(dāng)前系統(tǒng)所有進(jìn)程,-f參數(shù)表示完全格式顯示
那我們現(xiàn)在需要包含“usr”的進(jìn)程過(guò)濾出來(lái),我們想到了grep命令,grep的全稱(chēng)是Globally search a Regular Expression and Print,能使用其匹配搜索文本,并輸出匹配行。所以我們需要兩個(gè)命令聯(lián)合起來(lái)使用,就需要用到我們的管道命令。使用ps -ef | grep usr來(lái)完成我們想要的結(jié)果,如圖:
l進(jìn)階用法
那我們現(xiàn)在又需要查看包含dev的驅(qū)動(dòng)程序,并且進(jìn)行倒序、去重、統(tǒng)計(jì)多少行信息等
這個(gè)看起來(lái)命令挺多的,但是我們學(xué)了管道以后就不用擔(dān)心啦,我們一步一步來(lái),首先結(jié)合上面的入門(mén),我們查看包含“usb”的驅(qū)動(dòng)程序,使用cat /proc/devices | grep dev命令,如圖
然后我們?cè)谶M(jìn)行后面的操作,根據(jù)管道原則,我們可以進(jìn)行后面的累加,我們加上倒序命令,cat /proc/devices | grep dev | sort -tr,如圖:
我們把剩下的命令一起加上去,大功告成,完整命令,cat /proc/devices | grep dev | sort -tr | uniq| wc -l,如圖:
以上就是本次分享的管道命令,下次我們?cè)倏纯垂艿赖奶厥庥梅ā?/span>