在 CentOS 7 上使用 apropos 命令和 -a 搜索多个关键字

在 CentOS 7 上使用 apropos 命令和 -a 搜索多个关键字

我在跑CentOS 7.0 版本 1503。我试图通过搜索 man 描述来搜索我不知道名称的命令多种的关键词使用(例如,搜索描述中包含“create”和“group”这两个词的命令)。

所以我遇到了这个命令恰到好处(这是 man -k 的别名)。给定多个关键字时的默认行为是返回与任何关键字匹配的任何命令,这不是我想要的。根据手册页的选项-a 指定使用 AND,仅当所有单词匹配时才返回匹配项。

但这不是我在实践中看到的,所以我在这里需要一些帮助 - 例如使用 Centos 7,如果我这样做:

apropos create user

我看到一个巨大的命令列表,似乎与描述中的 create 或 user 相匹配,正如预期的那样。请注意该列表包含命令 'useradd (8) - 创建一个新用户...'。

如果我做:

apropos -a create user

我只收到 2 个命令(environ 和 open)。这就是我感到困惑的地方 - 我希望它返回命令“useradd (8) - 创建一个新用户”,因为我可以从之前的搜索中看到该命令确实在描述中包含这些单词。此外,这两个返回的命令显然似乎与创建用户无关。我究竟做错了什么?我确信这是一件显而易见的令人尴尬的事情,为此我提前道歉。

谢谢

答案1

apropos命令从缓存中读取。该缓存中可能尚未引用最近安装的手册页。一般来说,缓存会在每个软件包安装后或在 cron 作业中更新,我不知道它在 CentOS 上是如何设置的。

要更新缓存,请运行mandb.可能有一种首选方法可以在您的发行版上运行它(例如作为专用用户),查看您是否有系统 crontab 条目(例如/etc/cron.daily/man-db或 中的一行/etc/crontab),如果有,请运行它而不是mandb直接调用。

相关内容