apropos -
搜索手册页名称和描述
apropos [
-dalv?V] [
-e|
-w|
-r] [
-s
列表] [
-m 系统[,...]] [
-M
path] [
-L 区域] [
-C
文件]
关键词 ...
每个手册页都包含一段概述。
apropos 会搜索包括
关键词 的描述。
关键词
通常为正则表达式,视同使用(
-r)选项;或包含通配符(
-w);或完全匹配关键词(
-e)。使用这些选项时可能要给
关键词
加引号,或对特殊字符转义(\),以防
shell 解释它们。
标准匹配规则允许匹配手册页名称和手册页描述中的单词边界。
通过
apropos
搜索的数据库已由
mandb
程序更新。取决于您的安装方式,这可能是通过定期的
cron
任务进行的,或者需要在安装新手册页后手动进行。
-
-d, --debug
- 打印调试信息。
-
-v, --verbose
- 打印详细的警告消息。
-
-r, --regex
- 将每个关键词解释为正则表达式。这是默认行为。每个关键词将与手册页名称和描述分别匹配。匹配不限于单词边界。
-
-w, --wildcard
- 将每个关键词解释为
shell
风格的通配符。每个关键词将与手册页名称和描述分别匹配。如果同时使用了
--exact
选项,只有展开的关键词与整个描述或手册页名称完全匹配时才视为找到。否则关键词也允许沿描述中的单词边界匹配。
-
-e, --exact
- 每个关键词将严格与手册页名称和描述匹配。
-
-a, --and
- 只显示匹配提供的全部关键词的项目。默认是显示匹配任一关键词的项目。
-
-l, --long
- 不按终端宽度截断输出。通常会将输出截短为终端宽度,以免显示写得不好的
时显示混乱。
-
-s 列表, --sections
列表, --section 列表
- 只搜索指定的手册章节。列表
是由冒号或逗号分隔的章节列表。如果
列表
中的指定的是简单的章节号,如“3”,则显示的描述列表将只包含“3”、“3perl”“3x”等章节中的页面;如果
列表
中的章节号带扩展,如“3perl”,则显示的描述列表将只包含手册章节中对应部分的页面。
-
-m 系统[,...],
--systems=系统[,...]
- 如果此系统可以访问其他操作系统的手册页描述,则可以通过使用这一选项来搜索它们。如要搜索
NewOS
的手册页描述,使用
-m NewOS 选项。
指定的 系统
选项可以是逗号分隔的操作系统名称组合。要在搜索中包括本地操作系统的
whatis
描述,可以在参数字符串中包含系统名
man。此选项会覆盖
$SYSTEM 环境变量。
-
-M 路径, --manpath=路径
- 另外指定一组以冒号分隔的手册页层次结构作为搜索路径。默认情况下
apropos 会使用 $MANPATH
环境变量作为搜索路径;如果该环境变量为空或未设置,程序会根据您的
$ PATH
环境变量确定相应的手册路径。此选项会覆盖
$ MANPATH
环境变量的内容。
-
-L 区域, --locale=区域
-
apropos
通常会通过调用 C
语言函数 setlocale(3)
来确定您的当前区域设置。该函数会查询多个环境变量,可能包括
$ LC_MESSAGES 和
$LANG。要临时覆盖检测到的值,请使用该选项直接向
apropos 提供一个 区域
字符串。注意,在搜索页面实际开始前它不会生效。帮助消息等输出将始终以检测到的区域语言显示。
-
-C 文件, --config-file=文件
- 使用此用户配置文件代替默认的
~/.manpath。
-
-?, --help
- 打印帮助消息并退出。
- --usage
- 打印简短的帮助消息并退出。
-
-V, --version
- 显示版本信息。
- 0
- 程序成功执行。
- 1
- 用法、语法或配置文件出错。
- 2
- 操作出错。
- 16
- 未找到符合指定条件的结果。
- SYSTEM
- 如果设置了 $SYSTEM
环境变量,其效果将与
-m
选项的参数相同。
- MANPATH
- 如果设置了 $MANPATH
环境变量,它的值将被解释为要使用的,以冒号分隔的手册页层次结构搜索路径。
请参考 manpath(5)
中的搜索路径一节以了解默认行为以及处理该环境变量的细节。
- MANWIDTH
- 如果设置了 $MANWIDTH
,它的值将用作终端宽度(参阅
--long
选项)。如果未设置它,终端宽度将通过
$ COLUMNS 环境变量或调用
ioctl(2)(如果有的话)计算。若都失败,将退回到
80 个字符。
- POSIXLY_CORRECT
- 如果设置了
$POSIXLY_CORRECT
环境变量(即使是空值),默认的
apropos
搜索将视为扩展的正则表达式(
-r)。不过,现在这已经是默认行为了。
- /usr/share/man/index.(bt|db|dir|pag)
- 传统的全局
索引
数据库缓存。
- /var/cache/man/index.(bt|db|dir|pag)
- 与 FHS 兼容的全局
索引
数据库缓存。
- /usr/share/man/.../whatis
- 传统的 whatis
文本数据库。
man(1),
whatis(1),
mandb(8)
Wilf. ([email protected]).
Fabrizio Polacco ([email protected]).
Colin Watson ([email protected]).
https://gitlab.com/man-db/man-db/-/issues
https://savannah.nongnu.org/bugs/?group=man-db