概述
whatis [-dlv?V] [-r|-w] [-s
列表] [-m 系统[,...]]
[-M 路径] [-L 区域]
[-C 文件] 名称 ...
描述
每个手册页中都有一个概述。whatis
搜索手册页名称并显示任何与
名称
匹配的手册页描述。
名称
可以包含通配符(-w)或是正则表达式(-r)。使用这些选项时,可能要给
名称
加引号或对特殊字符转义,以阻止
shell 解释它们。
索引
数据库在搜索时使用,它们由
mandb
程序更新。取决于您的安装方式,这可能是通过定期的
cron
任务进行的,或者需要在安装新手册页后手动进行。要从相对
索引
数据库生成旧式的文本
whatis
数据库,调用这个命令:
whatis -M manpath -w '*' | sort >
manpath/whatis
其中 manpath
是手册页层次结构,如
/usr/man。
选项
- -d, --debug
- 打印调试信息。
- -v, --verbose
- 打印详细的警告消息。
- -r, --regex
- 将每个 名称
解释为正则表达式。如果
名称
匹配页面名称的任何部分,将视为一个匹配。该选项会使
whatis
略微变慢,这是由数据库搜索的原理导致的。
- -w,
--wildcard
- 将每个 名称
解释为包含 shell
风格通配符的模式。要匹配,展开的
名称
要与整个页面名称匹配。该选项会使
whatis
略微变慢,这是由数据库搜索的原理导致的。
- -l, --long
- 不按终端宽度截断输出。通常会将输出截短为终端宽度,以免显示写得不好的
时显示混乱。
- -s 列表,
--sections 列表, --section
列表
- 只搜索指定的手册章节。列表
是由冒号或逗号分隔的章节列表。如果
列表
中的指定的是简单的章节号,如“3”,则显示的描述列表将只包含“3”、“3perl”“3x”等章节中的页面;如果
列表
中的章节号带扩展,如“3perl”,则显示的描述列表将只包含手册章节中对应部分的页面。
- -m
系统[,...],
--systems=系统[,...]
- 如果此系统可以访问其他操作系统的手册页层次结构,可以使用此选项访问它们。要搜索
NewOS
的手册页名称,使用
-m NewOS 选项。
指定的 系统
选项可以是逗号分隔的操作系统名称组合。要包括本地操作系统的手册页名称,可以在参数字符串中包含系统名
man。此选项会覆盖
$SYSTEM 环境变量。
- -M 路径, --manpath=路径
- 另外指定一组以冒号分隔的手册页层次结构作为搜索路径。默认情况下
whatis 会使用 $MANPATH
环境变量作为搜索路径;如果该环境变量为空或未设置,程序会根据您的
$PATH
环境变量确定相应的手册路径。此选项会覆盖
$MANPATH
环境变量的内容。
- -L 区域, --locale=区域
- whatis 通常会通过调用 C
语言函数 setlocale(3)
来确定您的当前区域设置。该函数会查询多个环境变量,可能包括
$LC_MESSAGES 和
$LANG。要临时覆盖检测到的值,请使用该选项直接向
whatis 提供一个 区域
字符串。注意,在搜索页面实际开始前它不会生效。帮助消息等输出将始终以检测到的区域语言显示。
- -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 个字符。
文件
- /usr/share/man/index.(bt|db|dir|pag)
- 传统的全局 索引
数据库缓存。
- /var/cache/man/index.(bt|db|dir|pag)
- 与 FHS 兼容的全局
索引
数据库缓存。
- /usr/share/man/.../whatis
- 传统的 whatis
文本数据库。
作者
Wilf. (G.Wilford@ee.surrey.ac.uk).
Fabrizio Polacco (fpolacco@debian.org).
Colin Watson (cjwatson@debian.org).
https://gitlab.com/man-db/man-db/-/issues
https://savannah.nongnu.org/bugs/?group=man-db