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