The apropos and whatis utilities query manual page databases generated by makewhatis(8), evaluating
expression for each file in each database. By default, they display the names, section numbers, and
description lines of all matching manuals.
By default, apropos searches for makewhatis(8) databases in the default paths stipulated by man(1) and
uses case-insensitive extended regular expression matching over manual names and descriptions (the Nm and
Nd macro keys). Multiple terms imply pairwise -o.
whatis is a synonym for apropos-f.
The options are as follows:
-a Instead of showing only the title lines, show the complete manual pages, just like man(1) -a
would. If the standard output is a terminal device and -c is not specified, use less(1) to
paginate them. In -a mode, the options -IKOTW described in the mandoc(1) manual are also
available.
-Cfile
Specify an alternative configuration file in man.conf(5) format.
-f Search for all words in expression in manual page names only. The search is case-insensitive and
matches whole words only. In this mode, macro keys, comparison operators, and logical operators
are not available.
-k Support the full expression syntax. It is the default for apropos.
-Mpath
Use the colon-separated path instead of the default list of paths searched for makewhatis(8)
databases. Invalid paths, or paths without manual databases, are ignored.
-mpath
Prepend the colon-separated paths to the list of paths searched for makewhatis(8) databases.
Invalid paths, or paths without manual databases, are ignored.
-Ooutkey
Show the values associated with the key outkey instead of the manual descriptions.
-Sarch
Restrict the search to pages for the specified machine(1) architecture. arch is case-
insensitive. By default, pages for all architectures are shown.
-ssection
Restrict the search to the specified section of the manual. By default, pages from all sections
are shown. See man(1) for a listing of sections.
The options -chlw are also supported and are documented in man(1). The options -fkl are mutually
exclusive and override each other.
An expression consists of search terms joined by logical operators -a (and) and -o (or). The -a operator
has precedence over -o and both are evaluated left-to-right.
( expr )
True if the subexpression expr is true.
expr1-aexpr2
True if both expr1 and expr2 are true (logical ‘and’).
expr1 [-o] expr2
True if expr1 and/or expr2 evaluate to true (logical ‘or’).
term True if term is satisfied. This has syntax [[key[,key...]](=|~)]val, where key is an mdoc(7)
macro to query and val is its value. See “Macro Keys” for a list of available keys. Operator =
evaluates a substring, while ~ evaluates a case-sensitive extended regular expression.
-iterm
If term is a regular expression, it is evaluated case-insensitively. Has no effect on substring
terms.
Results are sorted first according to the section number in ascending numerical order, then by the page
name in ascending ascii(7) alphabetical order, case-insensitive.
Each output line is formatted as
name[, name...](sec) - description
Where “name” is the manual's name, “sec” is the manual section, and “description” is the manual's short
description. If an architecture is specified for the manual, it is displayed as
name(sec/arch) - description
Resulting manuals may be accessed as
$man-ssecname
If an architecture is specified in the output, use
$man-ssec-SarchnameMacroKeys
Queries evaluate over a subset of mdoc(7) macros indexed by makewhatis(8). In addition to the macro keys
listed below, the special key any may be used to match any available macro key.
Names and description:
Nm manual name
Nd one-line manual description
arch machine architecture (case-insensitive)
sec manual section number
Sections and cross references:
Sh section header (excluding standard sections)
Ss subsection header
Xr cross reference to another manual page
Rs bibliographic reference
Semantic markup for command line utilities:
Fl command line options (flags)
Cm command modifier
Ar command argument
Ic internal or interactive command
Ev environmental variable
Pa file system path
Semantic markup for function libraries:
Lb function library name
In include file
Ft function return type
Fn function name
Fa function argument type and name
Vt variable type
Va variable name
Dv defined variable or preprocessor constant
Er error constant
Ev environmental variable
Various semantic markup:
An author name
Lk hyperlink
Mt “mailto” hyperlink
Cd kernel configuration declaration
Ms mathematical symbol
Tn tradename
Physical markup:
Em italic font or underline
Sy boldface font
Li typewriter font
Text production:
St reference to a standards document
At AT&T UNIX version reference
Bx BSD version reference
Bsx BSD/OS version reference
Nx NetBSD version reference
Fx FreeBSD version reference
Ox OpenBSD version reference
Dx DragonFly version reference
In general, macro keys are supposed to yield complete results without expecting the user to consider
actual macro usage. For example, results include:
Fa function arguments appearing on Fn lines
Fn function names marked up with Fo macros
In include file names marked up with Fd macros
Vt types appearing as function return types and
types appearing in function arguments in the SYNOPSIS