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