3.11 基于功能查找命令

apropos

whatis命令与man –f类似,而apropos命令则同样与man –k类似。这两个命令都能够在man page中搜索命令的名称和描述,当你只记得命令的功能而不记得具体名称时,就可以为你提供帮助。

说明 在这里这样用apropos,确实不符合通常的用法,但它的确是一个词,基本上就是“相关的”或者“恰当的”意思。单词appropriate也有类似的意思,但是它的拉丁语词根与apropos并不相同。如果你是个语言爱好者,可以到www.answers.com查查这些词。

apropos命令的使用很简单:只需要在命令后面输入一个单词或短语,描述你感兴趣的命令的功能就可以了。

  1. $ man list
  2. No manual entry for list
  3. $ man -k list
  4. last (1) - show listing of last logged in users
  5. ls (1) - list directory contents
  6. lshw (1) - list hardware
  7. lsof (8) - list open files
  8. [Listing condensed due to length]
  9. $ apropos list
  10. last (1) - show listing of last logged in users
  11. ls (1) - list directory contents
  12. lshw (1) - list hardware
  13. lsof (8) - list open files
  14. [Listing condensed due to length]

whatis命令一样,可以使用-w(或--wildcard)和-r(或--regex)选项进行搜索。不过更有趣的是,如果只想密切关注某个词或者短语,没有任何其他内容,则可以使用-e选项(或--exact)。例如,在前面的结果列表中,搜索list的结果中却出现了last命令,因为它的描述中含有listing这个词。现在我们用-e选项进行相同的搜索。

  1. $ apropos -e list
  2. ls (1) - list directory contents
  3. lshw (1) - list hardware
  4. lsof (8) - list open files
  5. [Listing condensed due to length]

这次,last命令就没有出现了,因为你只想让结果精确地匹配list这个词,而不是listing。事实上,搜索list的结果由不使用-e选项时的80个缩减为使用-e选项时的55个,这样就方便你准确地查找命令搜索结果,找到你真正想要的命令。