要想Linux命令行玩的溜,還得Apropos!此文運(yùn)維必看
玩Linux的朋友有沒有這種體會,就是Linux非常棒,但是就是命令多,記不住,有時候碰到不會的命令還得百度或者谷歌,極大的影響了工作效率。
有沒有一種辦法,能夠在記不住某個命令或者記不全某個命令的時候不用上網(wǎng)查或者翻手冊就能找到這個命令?
答案是:當(dāng)然有!
下面就給大家介紹一下對于記性不太好的朋友的福音命令:apropos
apropos基本介紹
apropos在所有手冊頁中搜索帶有在命令行中傳遞給它的關(guān)鍵字的命令,這些關(guān)鍵字可以是命令名稱的一部分或與其功能描述相關(guān),當(dāng)不帶參數(shù)使用時,apropos命令的功能與man -k命令完全相同。
apropos語法
apropos keywords
比如想看下跟cpu相關(guān)命令的有哪些:
apropos cpu
apropos參數(shù)
apropos有以下參數(shù):
我們分別來解釋一下:
- -d:打印調(diào)試信息
- -v:打印詳細(xì)的警告消息
- -r:正則表達(dá)式
- -w:通配符
- -e:精確匹配關(guān)鍵詞
- -a:顯示與所有提供的關(guān)鍵字匹配的命令
- -l:在輸出中生成完整的行
- -s:僅搜索給定的man部分
- -m:訪問其他操作系統(tǒng)的man
- -M:指定man路徑
- -L:本地環(huán)境變量
- -C:使用自定義配置文件
- -h:打印幫助信息并退出
- -V:顯示版本信息
下面我們結(jié)合例子介紹幾個比較重要的參數(shù)!
案例
查看find相關(guān)的命令有哪些?
apropos find
輸出:
我們可以很清晰的看到跟find相關(guān)的命令有這么多,并且命令后面還有一些簡單的解釋。
這個時候我想精確的查找find命令怎么辦?
那當(dāng)然用-e參數(shù)了:
apropos find
這樣列舉出來的都是跟find相關(guān)的命令,是不是很簡單?
多個命令
上面的例子是針對的是單個命令,那么如果遇到多個命令怎么辦?
舉個例子:
apropos find which
這個時候?qū)@示至少一個匹配的關(guān)鍵詞的所有命令。
再觀察一下下面的命令:
apropos 'network add'
apropos后面跟著引號,引號內(nèi)關(guān)鍵詞用空格間隔,會列舉出與之匹配的命令,假如不匹配就無法查出任何命令:
apropos 'network tool'
剛剛說了apropos find which命令會將包含find或者which所有的命令都會列舉出來,假如我們只想列舉與它們都相關(guān)的命令,應(yīng)該怎么輸入呢?
加個-a參數(shù),只是它們沒有交集:
還是上面的apropos 'network tool',這個時候我們加上-a的參數(shù):
apropos -a network tool
不知道大家有沒有注意到一個現(xiàn)象,就是通過apropos命令匹配到的命令,假如描述文字太長的話就會被省略,比如:
apropos which
git-sparse-checkout (1)這項(xiàng)描述太長,末尾被省略了,但是此時我們想要看全一點(diǎn)的描述怎么辦?
加上-l參數(shù)即可!
即:
apropos -l which
總結(jié)
apropos命令對于經(jīng)常使用Linux的工程師簡直就是福音,大家在記憶模糊的情況下,這條命令可以很快的幫助你找到你想要的命令。希望大家可以好好練習(xí)一下,有了這個神器,真的會方便好多!