whatis.1
APROPOS(1)
APROPOS(1)
FreeBSD General Commands Manual
APROPOS(1)
apropos, whatis —
搜索手册页数据库
apropos [-afk] [-C file] [-M path] [-m path] [-O outkey] [-S arch] [-s section] expression ...
apropos 和 whatis 实用程序查询由 makewhatis(8) 生成的手册页数据库,评估每个数据库中每个文件的 expression 。 默认情况下,它们显示所有匹配手册的名称、章节编号和描述行。
默认情况下, apropos 在 man(1) 规定的默认路径中搜索 makewhatis(8) 数据库,并使用不区分大小写的扩展正则表达式匹配手动名称和描述 (the Nm 和 Nd 宏键) 。 多个术语意味着成对 -o 。
whatis 是 apropos -f 的同义词。
选项如下:
不是只显示标题行,而是显示完整的手册页,就像 man(1) -a 一样。 如果标准输出是终端设备且未指定 -c ,则使用 more(1) 对其进行分页。 在 -a 模式下, mandoc(1) 手册中描述的选项 -IKOTW 也可用。
-C file
以 man.conf(5) 格式指定替代配置 file 。
仅在手册页名称中搜索 expression 中的所有单词。 搜索不区分大小写,仅匹配整个单词。 在此模式下,宏键、比较运算符和逻辑运算符不可用。
支持完整的 expression 语法。 这是 apropos 的默认值。
-M path
使用冒号分隔的路径而不是搜索 makewhatis(8) 数据库的默认路径列表。 无效路径或没有手动数据库的路径将被忽略。
-m path
将冒号分隔的路径添加到搜索 makewhatis(8) 数据库的路径列表中。 无效路径或没有手动数据库的路径将被忽略。
-O outkey
显示与键 outkey 关联的值,而不是手动描述。
-S arch
将搜索限制在指定 machine(1) 架构的页面。 arch 不区分大小写。 默认情况下,会显示所有架构的页面。
-s section
将搜索限制在手册的指定部分。 默认情况下,显示所有部分的页面。 请参阅 man(1) 以获取部分列表。
选项 -chlw 也受支持,并记录在 man(1) 中。 选项 -fkl 是互斥的并且相互覆盖。
expression 由逻辑运算符 -a (and) 和 -o (or) 连接的搜索词组成。 -a 运算符优先于 -o 并且两者都是从左到右计算的。
( expr )
如果子表达式 expr 为真,则为真。
expr1 -a expr2
如果 expr1 和 expr2 都为真(逻辑 ‘and’ ),则为真。
expr1 [-o] expr2
如果 expr1 和/或 expr2 评估为真(逻辑 ‘or’ ),则为真。
term
如果满足 term ,则为真。 这有语法 [[key[,key...]](=|~)]val, 其中 key 是要查询的 mdoc(7) 宏, val 是它的值。 有关可用键的列表,请参阅 宏键 。运算符 = 计算子字符串,而 ~ 计算区分大小写的扩展正则表达式。
-i term
如果 term 是正则表达式,则不区分大小写。 对子字符串项没有影响。
结果首先根据节号按数字升序排序,然后按页面名称按 ascii(7) 字母升序排序,不区分大小写。
每个输出行的格式为
name[, name...](sec) - description
其中 “name” 是手册的名称, “sec” 是手册部分, “description” 是手册的简短描述。 如果为手册指定了架构,则显示为
name(sec/arch) - description
生成的手册可以以
$ man -s sec name
如果在输出中指定了体系结构,请使用
$ man -s sec -S arch name
查询评估由 makewhatis(8) 索引的 mdoc(7) 宏子集。 除了下面列出的宏键之外,特殊键 any 可用于匹配任何可用的宏键。
名称和描述:
手册名称
单行手册描述
机器架构(不区分大小写)
手册节号
节和交叉引用:
节标题(不包括标准节)
小节标题
对另一个手册页的交叉引用
书目参考
命令行实用程序的语义标记:
命令行选项(标志)
命令修饰符
命令参数
内部或交互式命令
环境变量
文件系统路径
函数库的语义标记:
函数库名称
包含文件
函数返回类型
函数名称
函数参数类型和名称
变量类型
变量名称
定义变量或预处理器常量
错误常量
环境变量
各种语义标记:
作者姓名
超链接
“mailto”超链接
内核配置声明
数学符号
商品名
物理标记:
斜体或下划线
粗体字体
打字机字体
文本生成:
参考标准文档
AT&T UNIX 版本参考
BSD 版本参考
BSD/OS 版本参考
NetBSD 版本参考
FreeBSD 版本参考
OpenBSD 版本参考
DragonFly 版本参考
一般来说,宏键应该产生完整的结果,而不期望用户考虑实际的宏使用。 例如,结果包括:
函数参数出现在 Fn 行中
函数名用 Fo 宏标记
include 文件名用 Fd 宏标记
显示为函数返回类型的类型
SYNOPSIS 中函数参数中出现的类型
使用环境变量 MANPAGER 的任何非空值代替标准分页程序, more(1); 有关详细信息,请参见 man(1) 。 仅在指定 -a 或 -l 时使用。
用于搜索手册页的以冒号分隔的目录列表;有关详细信息,请参见 man(1) 。 被 -M 覆盖,如果指定了 -l ,则忽略。
指定未定义 MANPAGER 如果 PAGER 和 MANPAGER 均未定义,则使用 more(1) -s 。 仅在指定 -a 或 -l 时使用。
mandoc.db
makewhatis(8) 关键字数据库的名称
/etc/man.conf
默认 man(1) 配置文件
The apropos utility exits 0 on success, and >0 if an error occurs.
搜索 “.cf” 作为手册名称和描述的子字符串:
$ apropos =.cf
还包括 “.cnf” 和 “.conf” 的匹配项:
$ apropos =.cf =.cnf =.conf
使用区分大小写的正则表达式在名称和描述中搜索:
$ apropos '~set.?[ug]id'
在提及 “optind” 和 “optarg” 变量的库部分中搜索手册:
$ apropos -s 3 Va=optind -a Va=optarg
执行与使用参数 “ssh” 调用 whatis 完全相同的操作:
$ apropos -- -i 'Nm~[[:<:]]ssh[[:>:]]'
以下两个调用是等效的:
$ apropos -S arch -s section expression
$ apropos \( expression \) -a arch~^(arch|any)$ -a sec~^section$
man(1), re_format(7), makewhatis(8)
apropos 实用程序符合 man(1) -k 的 IEEE Std 1003.1-2008 (“POSIX.1”) 规范。
所有选项、 whatis 命令、对逻辑运算符、宏键、子字符串匹配、结果排序、环境变量 MANPAGER 和 MANPATH 、数据库格式和配置文件的支持都是该规范的扩展。
whatis 的部分功能已经由 1BSD 中的前 manwhere 实用程序提供。 apropos 和 whatis 实用程序首先出现在 2BSD 中。 它们是针对 OpenBSD 5.6 从头开始重写的。
-M 选项和 MANPATH 变量最早出现在 4.3BSD; -m 在 4.3BSD-Reno 中; -C 在 4.4BSD-Lite1 中;和 -S 和 -s 在 OpenBSD 4.5 中用于 apropos ,在 OpenBSD 5.6 中用于 whatis 。 选项 -acfhIKklOTWw 出现在 OpenBSD 5.7 中。
Bill Joy 于 1977 年写了 manwhere ,最初的 BSD apropos 和 whatis 写于 1979 年 2 月。当前版本由 Kristaps Dzonsons <[email protected]> 和 Ingo Schwarze <[email protected]> 编写。
November 22, 2018
FreeBSD 13.1-RELEASE
最后更新于
这有帮助吗?