apropos.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
也可用。
以 man.conf(5) 格式指定替代配置 file 。
仅在手册页名称中搜索 expression 中的所有单词。 搜索不区分大小写,仅匹配整个单词。 在此模式下,宏键、比较运算符和逻辑运算符不可用。
支持完整的 expression 语法。 这是 apropos
的默认值。
使用冒号分隔的路径而不是搜索 makewhatis(8) 数据库的默认路径列表。 无效路径或没有手动数据库的路径将被忽略。
将冒号分隔的路径添加到搜索 makewhatis(8) 数据库的路径列表中。 无效路径或没有手动数据库的路径将被忽略。
显示与键 outkey 关联的值,而不是手动描述。
将搜索限制在指定 machine(1) 架构的页面。 arch 不区分大小写。 默认情况下,会显示所有架构的页面。
将搜索限制在手册的指定部分。 默认情况下,显示所有部分的页面。 请参阅 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 是正则表达式,则不区分大小写。 对子字符串项没有影响。
结果首先根据节号按数字升序排序,然后按页面名称按 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 中。
November 22, 2018
FreeBSD 13.1-RELEASE
file
path
path
outkey
arch
section
如果满足 term ,则为真。 这有语法 [[key[,key...]](=
|~
)]val, 其中 key 是要查询的 mdoc(7) 宏, val 是它的值。 有关可用键的列表,请参阅 。运算符 =
计算子字符串,而 ~
计算区分大小写的扩展正则表达式。
term
Bill Joy 于 1977 年写了 manwhere
,最初的 BSD apropos
和 whatis
写于 1979 年 2 月。当前版本由 Kristaps Dzonsons <> 和 Ingo Schwarze <> 编写。