前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux 命令(149)—— whatis 命令

Linux 命令(149)—— whatis 命令

作者头像
恋喵大鲤鱼
发布2022-10-25 19:33:46
4590
发布2022-10-25 19:33:46
举报
文章被收录于专栏:C/C++基础C/C++基础

文章目录

1.命令简介

whatis 显示手册 NAME 一节的简短描述。

每个手册页面都有一个简短的描述。whatis 搜索手册页,显示匹配的手册页中 NAME 一节内容。

名字可以包含通配符(-w)或正则表达式(-r)。使用这些选项,可能需要使用单引号引住名称或转义特殊字符以阻止 Shell 解释它们。

索引数据库在搜索期间使用,并由 mandb 程序更新。根据您的安装,这可能由定期 cron 作业运行,或者可能需要在安装新的手动页面后手动运行。

如果想从现有索引数据库生成旧样式的文本 whatis 数据库,可以使用如下命令:

代码语言:javascript
复制
whatis -M <manpath> -w '*' | sort > <manpath>/whatis

其中 manpath 是手册路径,如 /usr/man。

2.命令格式

代码语言:javascript
复制
whatis [OPTION...] KEYWORD...

whatis 不加任何选项等同于使用 man -f 命令。

3.选项说明

代码语言:javascript
复制
-d, --debug
	输出调试信息。
-v, --verbose
	输出详细的警告信息。
-r, --regex
	把每个名字词都当作正则表达式解读。
-w, --wildcard
	将每个名字解释为包含 Shell 样式通配符的模式。
-l, --long
	不要将输出截断为终端宽度。默认会截断,以避免写得不好的 NAME 一节产生难看的结果。
-s, --sections, --section <list>
	仅搜索给定类型的手册。list 是以冒号或逗号分隔类型列表。如果列表中的条目是一个简单的部分,例如 "3",则搜索类型为 "3"、"3perl" 和 "3x" 的手册。而如果列表中的条目有一个扩展名,如 "3perl",那么只搜索类型为 "3perl" 的手册。
-m, --systems=<system>[,...]
	如果此系统可以访问其他操作系统的手册页名字,则可以使用此选项访问它们。如要搜索系统 NewOS 的手册页名字,请使用选项-m NewOS。

	多个操作系统名称使用逗号分隔。要包括对本机操作系统的手动页名字的搜索,请在参数字符串中指定 man。此选项将覆盖 $SYSTEM 环境变量。
-M, --manpath=<path>
	手动指明手册页搜索路径。默认使用 $MANPATH 环境变量,如果它为空或未设置,将根据 $PATH 环境变量确定适当的 MANPATH。此选项覆盖 $MANPATH 的内容。
-L, --locale=<locale>
	whatis 通常会通过调用 C 函数 setlocale(3) 来确定当前的语言环境,该函数询问各种环境变量,可能包括 $LC_MESSAGES 和 $LANG。要临时覆盖确定的值,请使用此选项提供区域设置字符串。
-C, --config-file=<file>
	使用此用户配置文件,而不是默认的 ~/.manpath。
-?, --help
	显示帮助信息并退出。
--usage
	打印简短的使用信息并退出。
-V, --version
	显示版本信息并退出。

4.常用示例

(1)查看指定命令手册中 NAME 一节的内容。

代码语言:javascript
复制
$ whatis whatis
whatis (1)           - display manual page descriptions

(2)使用通配符指定要搜索的名字。

代码语言:javascript
复制
$ whatis -w what*s
whatis (1)           - display manual page descriptions

(3)使用正则表达式指定要搜索的名字。

代码语言:javascript
复制
$ whatis -r what.s
whatis (1)           - display manual page descriptions

(4)使用 -s 选项从手册页的特定部分获取信息。

帮助手册分为多种类型,即不同的 Section,主要有:

代码语言:javascript
复制
man1/ Section 1: General commands
man2/ Section 2: System calls
man3/ Section 3: Library functions
man4/ Section 4: Special files
man5/ Section 5: File formats and conventions
man6/ Section 6: Games and screensavers
man7/ Section 7: Miscellaneous
man8/ Section 8: System administration commands and daemons

比如查询 crontab 既可以是通用命令,也可以是文件格式。

代码语言:javascript
复制
$ whatis crontab
crontab (5)          - files used to schedule the execution of programs
crontab (1)          - maintains crontab files for individual users

我们可以通过 -s 选项指定要查找的类型为 “1” 通用命令。

代码语言:javascript
复制
$ whatis -s "1" crontab
crontab (1)          - maintains crontab files for individual users

(5)使用 -M 选项手动指明手册页搜索路径。

默认情况下,whatis 命令使用 $MANPATH 环境变量。但是 whatis 提供了 -M 或 –manpath 选项来限制搜索手册页的指定路径。

代码语言:javascript
复制
$ whatis -M /usr/share/man whatis
whatis (1)           - display manual page descriptions

参考文献

whatis(1) - Linux manual page - man7.org

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-10-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 1.命令简介
  • 2.命令格式
  • 3.选项说明
  • 4.常用示例
  • 参考文献
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档