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