用一句话来描述手册页面
命令语法格式
whatis [-dlv?V] [-r|-w] [-s list] [-m system[,…]] [-M path] [-L locale] [-C file] name …
命令描述
每个手册页中都有一个名为NAME的部分。whatis会搜索手册页名字,如果手册页名字与命令参数name匹配,则whatis会输出该手册页的名字和NAME部分中的描述。
name可以包含通配符(-w)或是正则表达式(-r)。使用这些选项时,可能要给name加引号或对特殊字符转义,以阻止SHELL解析它们。
在搜索时,whatis会使用索引数据库,索引数据库由mandb命令更新,索引数据库的位置参见本文的「相关文件」部分。根据你的安装方式,索引数据库的更新可能通过周期任务(cron)进行的,或者在安装新手册页后手动进行更新索引数据库。要使用相对索引数据库来生成旧式的文本whatis数据库,可以调用下面的命令:
其中manpath是手册页层次结构,如/usr/man。在很早之前,索引数据库是使用纯文本格式的数据库(称为whatis数据库),后来使用Berkeley DB数据库来代替传统的纯文本whatis数据库。
命令支持的选项及含义
-d, –debug
打印调试信息。
-v, –verbose
打印详细的警告消息。
-r, –regex
将每个name解释为正则表达式。如果name匹配页面名称的任何部分,则将视为一个匹配的页面。该选项会使whatis略微变慢,这是由数据库搜索的原理导致的。
-w, –wildcard
将每个name解释为包含SHELL风格通配符的模式。要匹配,展开的name要与整个页面名称匹配。该选项会使whatis略微变慢,这是由数据库搜索的原理导致的。
-l, –long
不按终端宽度截断输出。通常,如果不使用该选项,会将输出截短为终端宽度,一行只显示一条匹配的记录,超不的部分显示省略号。
-s list, –sections list, –section list
只搜索指定的手册章节。list是由冒号或逗号分隔的章节列表。如果list中的指定的是简单的章节号,如“3”,则最终显示的描述列表将只包含“3”、“3perl”“3x”等章节中的页面;如果list中的章节号带扩展,如“3perl”,则最终显示的描述列表将只包含手册章节中对应部分的页面。
-m system[,…], –systems=system[,…]
如果此系统可以访问其他操作系统的手册页层次结构,可以使用此选项访问它们。要搜索NewOS的手册页名称,可以使用-m NewOS选项。
指定的system选项可以是逗号分隔的操作系统名称组合。要包括本地操作系统的手册页名称,可以在参数字符串中包含系统名 man。此选项会覆盖$SYSTEM环境变量。
-M path, –manpath=path
另外指定一组以冒号分隔的手册页层次结构作为搜索路径。默认情况下whatis会使用$MANPATH环境变量作为搜索路径;如果该环境变量为空或未设置,程序会根据你的$PATH环境变量确定相应的手册路径。此选项会覆盖$MANPATH环境变量的内容。
-L locale, –locale=locale
whatis通常会通过调用C语言函数setlocale(3)来确定你的当前区域设置。该函数会检查多个环境变量,可能包括$LC_MESSAGES和$LANG。要临时覆盖检测到的值,请使用该选项直接向whatis提供一个locale字符串。注意,在搜索页面实际开始前它并不会生效。帮助消息等输出将始终以检测到的区域语言显示,并不会受到该选项的影响。
-C file, –config-file=file
使用用户配置文件file代替默认的~/.manpath。
-?, –help
打印帮助消息并退出。
–usage
打印简短的帮助消息并退出
状态码
0 程序成功执行。
1 用法、语法或配置文件出错。
2 操作出错。
16 未找到符合指定条件的结果。
相关环境变量
SYSTEM
环境变量$SYSTEM与-m选项的效果相同。
MANPATH
如果设置了$MANPATH环境变量,它的值(以冒号分隔)将被解释为要使用的手册页层次结构搜索路径。
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文本数据库。
相关手册
apropos(1), man(1), mandb(8)
参考文献
- man 1 whatis, version 2.7.6.1
更新日志
- 07/29/2017 创建文章