Cameron Katri's Manual Page Server

Manual Page Search Parameters

MAN(1) General Commands Manual MAN(1)

man, apropos, whatisdisplay online manual documentation pages

man [-adho] [-t | -w] [-M manpath] [-P pager] [-S mansect] [-m arch[:machine]] [-p [eprtv]] [mansect] page ...


man -f [-d] [-M manpath] [-P pager] [-S mansect] keyword ...

whatis [-d] [-s mansect] keyword ...


man -k [-d] [-M manpath] [-P pager] [-S mansect] keyword ...

apropos [-d] [-s mansect] keyword ...

The man utility finds and displays online manual documentation pages. If mansect is provided, man restricts the search to the specific section of the manual.

The sections of the manual are:

  1. General Commands Manual
  2. System Calls Manual
  3. Library Functions Manual
  4. Kernel Interfaces Manual
  5. File Formats Manual
  6. Games Manual
  7. Miscellaneous Information Manual
  8. System Manager's Manual
  9. Kernel Developer's Manual

Options that man understands:

manpath
Forces a specific colon separated manual path instead of the default search path. See manpath(1). Overrides the MANPATH environment variable.
pager
Use specified pager. Defaults to “less -sR” if color support is enabled, or “less -s”. Overrides the MANPAGER environment variable, which in turn overrides the PAGER environment variable.
mansect
Restricts manual sections searched to the specified colon delimited list. Defaults to “1:8:2:3:3lua:n:4:5:6:7:9:l”. Overrides the MANSECT environment variable.
Display all manual pages instead of just the first found for each page argument.
Print extra debugging information. Repeat for increased verbosity. Does not display the manual page.
Emulate whatis(1). Note that only a subset of options will have any effect when man is invoked in this mode. See the below description of whatis options for details.
Display short help message and exit.
Emulate apropos(1). Note that only a subset of options will have any effect when man is invoked in this mode. See the below description of apropos options for details.
arch[:machine]
Override the default architecture and machine settings allowing lookup of other platform specific manual pages. This option is accepted, but not implemented, on macOS.
Force use of non-localized manual pages. See IMPLEMENTATION NOTES for how locale specific searches work. Overrides the LC_ALL, LC_CTYPE, and LANG environment variables.
[eprtv]
Use the list of given preprocessors before running nroff(1) or troff(1). Valid preprocessors arguments:

eqn(1)
pic(1)
refer(1)
tbl(1)
vgrind(1)

Overrides the MANROFFSEQ environment variable.

Send manual page source through troff(1) allowing transformation of the manual pages to other formats.
Display the location of the manual page instead of the contents of the manual page.

Options that apropos and whatis understand:

Same as the -d option for man.
Same as the -S option for man.

When man is operated in apropos or whatis emulation mode, only a subset of its options will be honored. Specifically, -d, -M, -P, and -S have equivalent functionality in the apropos and whatis implementation provided. The MANPATH, MANSECT, and MANPAGER environment variables will similarly be honored.

The man utility supports manual pages in different locales. The search behavior is dictated by the first of three environment variables with a nonempty string: LC_ALL, LC_CTYPE, or LANG. If set, man will search for locale specific manual pages using the following logic:

  • lang_country.charset
  • lang.charset
  • .charset

For example, if LC_ALL is set to “ja_JP.eucJP”, man will search the following paths when considering section 1 manual pages in /usr/share/man:

  • /usr/share/man/ja_JP.eucJP/man1
  • /usr/share/man/ja.eucJP/man1
  • /usr/share/man/en.eucJP/man1
  • /usr/share/man/man1

The man utility also supports displaying a specific manual page if passed a path to the file as long as it contains a ‘/’ character.

The following environment variables affect the execution of man:

, LC_CTYPE, LANG
Used to find locale specific manual pages. Valid values can be found by running the locale(1) command. See IMPLEMENTATION NOTES for details. Influenced by the -o option.
, MACHINE
Used to find platform specific manual pages. If unset, the output of “sysctl hw.machine_arch” and “sysctl hw.machine” is used respectively. See IMPLEMENTATION NOTES for details. Corresponds to the -m option.
The standard search path used by man(1) may be changed by specifying a path in the MANPATH environment variable. Invalid paths, or paths without manual databases, are ignored. Overridden by -M. If MANPATH begins with a colon, it is appended to the default list; if it ends with a colon, it is prepended to the default list; or if it contains two adjacent colons, the standard search path is inserted between the colons. If none of these conditions are met, it overrides the standard search path.
Used to determine the preprocessors for the manual source before running nroff(1) or troff(1). If unset, defaults to tbl(1). Corresponds to the -p option.
Restricts manual sections searched to the specified colon delimited list. Corresponds to the -S option.
If set to a numeric value, used as the width manpages should be displayed. Otherwise, if set to a special value “tty”, and output is to a terminal, the pages may be displayed over the whole width of the screen.
If set, enables color support.
Program used to display files.

If unset, and color support is enabled, “less -sR” is used.

If unset, and color support is disabled, then PAGER is used. If that has no value either, “less -s” is used.

/etc/man.conf
System configuration file.
/usr/local/etc/man.d/*.conf
Local configuration files.

The man utility exits 0 on success, and >0 if an error occurs.

Show the manual page for stat(2):

$ man 2 stat

Show all manual pages for ‘stat’.

$ man -a stat

List manual pages which match the regular expression either in the title or in the body:

$ man -k '\<copy\>.*archive'

Show the manual page for ls(1) and use cat(1) as pager:

$ man -P cat ls

Show the location of the ls(1) manual page:

$ man -w ls

apropos(1), intro(1), mandoc(1), manpath(1), whatis(1), intro(2), intro(3), intro(3lua), intro(4), intro(5), man.conf(5), intro(6), intro(7), mdoc(7), intro(8), intro(9)

January 9, 2021 macOS