Goemial
Goemial
MAN(1)
NAME
man - an interface to the system reference manuals
SYNOPSIS
man [man options] [[section] page ...] ...
man -k [apropos options] regexp ...
man -K [man options] [section] term ...
man -f [whatis options] page ...
man -l [man options] file ...
man -w|-W [man options] page ...
DESCRIPTION
man is the system's manual pager. Each page argument given to man is
normally the
name of a program, utility or function. The manual page associated with
each of
these arguments is then found and displayed. A section, if provided, will
direct man
to look only in that section of the manual. The default action is to
search in all
of the available sections following a pre-defined order (see DEFAULTS), and
to show
only the first page found, even if page exists in several sections.
The table below shows the section numbers of the manual followed by the
types of
pages they contain.
The following conventions apply to the SYNOPSIS section and can be used as a
guide in
other sections.
Exact rendering may vary depending on the output device. For instance, man
will usu‐
ally not be able to render italics when running in a terminal, and will
typically use
underlined or coloured text instead.
EXAMPLES
man ls
Display the manual page for the item (program) ls.
man man.7
Display the manual page for macro package man from section 7. (This is
an alter‐
native spelling of "man 7 man".)
man 'man(7)'
Display the manual page for macro package man from section 7. (This is
another
alternative spelling of "man 7 man". It may be more convenient when
copying and
pasting cross-references to manual pages. Note that the parentheses
must nor‐
mally be quoted to protect them from the shell.)
man -a intro
Display, in succession, all of the available intro manual pages
contained within
the manual. It is possible to quit between successive displays or skip
any of
them.
man -f smail
Lookup the manual pages referenced by smail and print out the short
descriptions
of any found. Equivalent to whatis smail.
OVERVIEW
Many options are available to man in order to give as much flexibility as
possible to
the user. Changes can be made to the search path, section order, output
processor,
and other behaviours and operations detailed below.
<language>[_<territory>[.<character-set>[,<version>]]]
If you find that the translations supplied with this package are not
available in
your native language and you would like to supply them, please contact the
maintainer
who will be coordinating such activity.
DEFAULTS
The order of sections to search may be overridden by the environment
variable $MAN‐
SECT or by the SECTION directive in /etc/man_db.conf. By default it is as
follows:
1 1p n l 8 3 3p 0 0p 2 3type 5 4 9 6 7
The filters are deciphered by a number of means. Firstly, the command line
option -p
or the environment variable $MANROFFSEQ is interrogated. If -p was not
used and the
environment variable was not set, the initial line of the nroff file is
parsed for a
preprocessor string. To contain a valid preprocessor string, the first line
must re‐
semble
'\" <string>
If none of the above methods provide any filter information, a default set
is used.
A formatting pipeline is formed from the filters and the primary formatter
(nroff or
[tg]roff with -t) and executed. Alternatively, if an executable program
mandb_nfmt
(or mandb_tfmt with -t) exists in the man tree root, it is executed instead.
It gets
passed the manual source file, the preprocessor string, and optionally
the device
specified with -T or -E as arguments.
OPTIONS
Non-argument options that are duplicated either on the command line, in
$MANOPT, or
both, are not harmful. For options that require an argument, each
duplication will
override the previous argument value.
General options
-C file, --config-file=file
Use this user configuration file rather than the default of
~/.manpath.
-d, --debug
Print debugging information.
-D, --default
This option is normally issued as the very first option and resets
man's be‐
haviour to its default. Its use is to reset those options that may
have been
set in $MANOPT. Any options that follow -D will have their usual
effect.
--warnings[=warnings]
Enable warnings from groff. This may be used to perform sanity
checks on the
source text of manual pages. warnings is a comma-separated list
of warning
names; if it is not supplied, the default is "mac". To disable a
groff warn‐
ing, prefix it with "!": for example, --warnings=mac,!break enables
warnings
in the "mac" category and disables warnings in the "break" category.
See the
“Warnings” node in info groff for a list of available warning names.
-k, --apropos
Approximately equivalent to apropos. Search the short manual page
descrip‐
tions for keywords and display any matches. See apropos(1) for
details.
-K, --global-apropos
Search for text in all manual pages. This is a brute-force search,
and is
likely to take some time; if you can, you should specify a section
to reduce
the number of pages that need to be searched. Search terms may
be simple
strings (the default), or regular expressions if the --regex option
is used.
Note that this searches the sources of the manual pages, not the
rendered
text, and so may include false positives due to things like comments
in source
files, or false negatives due to things like hyphens being written as
"\-" in
source files. Searching the rendered text would be much slower.
-l, --local-file
Activate "local" mode. Format and display local manual files
instead of
searching through the system's manual collection. Each manual page
argument
will be interpreted as an nroff source file in the correct
format. No cat
file is produced. If '-' is listed as one of the arguments, input
will be
taken from stdin.
If this option is not used, then man will also fall back to
interpreting man‐
ual page arguments as local file names if the argument contains a "/"
charac‐
ter, since that is a good indication that the argument refers to a
path on the
file system.
If -w and -W are both used, then print both source file and cat file
separated
by a space. If all of -w, -W, and -a are used, then do this for each
possible
match.
-c, --catman
This option is not for general use and should only be used by the
catman pro‐
gram.
-R encoding, --recode=encoding
Instead of formatting the manual page in the usual way, output its
source con‐
verted to the specified encoding. If you already know the
encoding of the
source file, you can also use manconv(1) directly. However, this
option al‐
lows you to convert several manual pages to a single encoding
without having
to explicitly state the encoding of each, provided that they were
already in‐
stalled in a structure similar to a manual page hierarchy.
-m system[,...], --systems=system[,...]
If this system has access to other operating systems' manual pages,
they can
be accessed using this option. To search for a manual page from
NewOS's man‐
ual page collection, use the option -m NewOS.
-M path, --manpath=path
Specify an alternate manpath to use. By default, man uses
manpath derived
code to determine the path to search. This option overrides the
$MANPATH en‐
vironment variable and causes option -m to be ignored.
-e sub-extension, --extension=sub-extension
Some systems incorporate large packages of manual pages, such as
those that
accompany the Tcl package, into the main manual page hierarchy. To
get around
the problem of having two manual pages with the same name such as
exit(3), the
Tcl pages were usually all assigned to section l. As this is
unfortunate, it
is now possible to put the pages in the correct section, and to
assign a spe‐
cific "extension" to them, in this case, exit(3tcl). Under normal
operation,
man will display exit(3) in preference to exit(3tcl). To negotiate
this situ‐
ation and to avoid having to know which section the page you require
resides
in, it is now possible to give man a sub-extension string
indicating which
package the page must belong to. Using the above example, supplying
the op‐
tion -e tcl to man will restrict the search to pages having an
extension of
*tcl.
-i, --ignore-case
Ignore case when searching for manual pages. This is the default.
-I, --match-case
Search for manual pages case-sensitively.
--regex
Show all pages with any part of either their names or their
descriptions
matching each page argument as a regular expression, as with
apropos(1).
Since there is usually no reasonable way to pick a "best" page when
searching
for a regular expression, this option implies -a.
--wildcard
Show all pages with any part of either their names or their
descriptions
matching each page argument using shell-style wildcards, as with
apropos(1)
--wildcard. The page argument must match the entire name or
description, or
match on word boundaries in the description. Since there is usually
no rea‐
sonable way to pick a "best" page when searching for a wildcard,
this option
implies -a.
--names-only
If the --regex or --wildcard option is used, match only page names,
not page
descriptions, as with whatis(1). Otherwise, no effect.
-a, --all
By default, man will exit after displaying the most suitable
manual page it
finds. Using this option forces man to display all the manual
pages with
names that match the search criteria.
-u, --update
This option causes man to update its database caches of
installed manual
pages. This is only needed in rare situations, and it is normally
better to
run mandb(8) instead.
--no-subpages
By default, man will try to interpret pairs of manual page names
given on the
command line as equivalent to a single manual page name containing a
hyphen or
an underscore. This supports the common pattern of programs that
implement a
number of subcommands, allowing them to provide manual pages for each
that can
be accessed using similar syntax as would be used to invoke the
subcommands
themselves. For example:
-r prompt, --prompt=prompt
If a recent version of less is used as the pager, man will attempt
to set its
prompt and some sensible options. The default prompt looks like
where name denotes the manual page name, sec denotes the section it
was found
under and x the current line number. This is achieved by using the
$LESS en‐
vironment variable.
It is broken into three lines here for the sake of readability only.
For its
meaning see the less(1) manual page. The prompt string is first
evaluated by
the shell. All double quotes, back-quotes and backslashes in the
prompt must
be escaped by a preceding backslash. The prompt string may end in an
escaped
$ which may be followed by further options for less. By default man
sets the
-ix8 options.
-7, --ascii
When viewing a pure ascii(7) manual page on a 7 bit terminal or
terminal emu‐
lator, some characters may not display correctly when using the
latin1(7) de‐
vice description with GNU nroff. This option allows pure ascii
manual pages
to be displayed in ascii with the latin1 device. It will not
translate any
latin1 text. The following table shows the translations performed:
some parts
of it may only be displayed properly when using GNU nroff's latin1(7)
device.
This option is ignored when using options -t, -H, -T, or -Z and may
be useless
for nroff other than GNU's.
-E encoding, --encoding=encoding
Generate output for a character encoding other than the default. For
backward
compatibility, encoding may be an nroff device such as ascii, latin1,
or utf8
as well as a true character encoding such as UTF-8.
--no-hyphenation, --nh
Normally, nroff will automatically hyphenate text at line breaks even
in words
that do not contain hyphens, if it is necessary to do so to lay out
words on a
line without excessive spacing. This option disables automatic
hyphenation,
so words will only be hyphenated if they already contain hyphens.
If you are writing a manual page and simply want to prevent nroff
from hyphen‐
ating a word at an inappropriate point, do not use this option, but
consult
the nroff documentation instead; for instance, you can put "\%"
inside a word
to indicate that it may be hyphenated at that point, or put "\%" at
the start
of a word to prevent it from being hyphenated.
--no-justification, --nj
Normally, nroff will automatically justify text to both margins.
This option
disables full justification, leaving justified only to the left
margin, some‐
times called "ragged-right" text.
If you are writing a manual page and simply want to prevent nroff
from justi‐
fying certain paragraphs, do not use this option, but consult the
nroff docu‐
mentation instead; for instance, you can use the ".na", ".nf",
".fi", and
".ad" requests to temporarily disable adjusting and filling.
-p string, --preprocessor=string
Specify the sequence of preprocessors to run before nroff or
troff/groff. Not
all installations will have a full set of preprocessors. Some of
the pre‐
processors and the letters used to designate them are: eqn (e), grap
(g), pic
(p), tbl (t), vgrind (v), refer (r). This option overrides the
$MANROFFSEQ
environment variable. zsoelim is always run as the very first
preprocessor.
-t, --troff
Use groff -mandoc to format the manual page to stdout. This option
is not re‐
quired in conjunction with -H, -T, or -Z.
-T[device], --troff-device[=device]
This option is used to change groff (or possibly troff's) output to
be suit‐
able for a device other than the default. It implies -t. Examples
(as of
groff 1.23.0) include dvi, latin1, pdf, ps, utf8, X75 and X100.
-H[browser], --html[=browser]
This option will cause groff to produce HTML output, and will
display that
output in a web browser. The choice of browser is determined by the
optional
browser argument if one is provided, by the $BROWSER environment
variable, or
by a compile-time default if that is unset (usually lynx). This
option im‐
plies -t, and will only work with GNU troff.
-X[dpi], --gxditview[=dpi]
This option displays the output of groff in a graphical window
using the
gxditview program. The dpi (dots per inch) may be 75, 75-12, 100, or
100-12,
defaulting to 75; the -12 variants use a 12-point base font. This
option im‐
plies -T with the X75, X75-12, X100, or X100-12 device respectively.
-Z, --ditroff
groff will run troff and then use an appropriate post-processor to
produce
output suitable for the chosen device. If groff -mandoc is groff,
this option
is passed to groff and will suppress the use of a post-processor.
It implies
-t.
Getting help
-?, --help
Print a help message and exit.
--usage
Print a short usage message and exit.
-V, --version
Display version information.
EXIT STATUS
0 Successful program execution.
2 Operational error.
ENVIRONMENT
MANPATH
If $MANPATH is set, its value is used as the path to search for
manual pages.
See the SEARCH PATH section of manpath(5) for the default behaviour
and de‐
tails of how this environment variable is handled.
MANROFFOPT
Every time man invokes the formatter (nroff, troff, or groff), it
adds the
contents of $MANROFFOPT to the formatter's command line.
MANROFFSEQ
If $MANROFFSEQ is set, its value is used to determine the set of
preprocessors
to pass each manual page through. The default preprocessor list is
system de‐
pendent.
MANSECT
If $MANSECT is set, its value is a colon-delimited list of sections
and it is
used to determine which manual sections to search and in what order.
The de‐
fault is "1 1p n l 8 3 3p 0 0p 2 3type 5 4 9 6 7", unless
overridden by the
SECTION directive in /etc/man_db.conf.
MANPAGER, PAGER
If $MANPAGER or $PAGER is set ($MANPAGER is used in preference), its
value is
used as the name of the program used to display the manual page. By
default,
less is used, falling back to cat if less is not found or is not
executable.
MANLESS
If $MANLESS is set, its value will be used as the default prompt
string for
the less pager, as if it had been passed using the -r option (so
any occur‐
rences of the text $MAN_PN will be expanded in the same way). For
example, if
you want to set the prompt string unconditionally to “my prompt
string”, set
$MANLESS to ‘-Psmy prompt string’. Using the -r option overrides
this envi‐
ronment variable.
BROWSER
If $BROWSER is set, its value is a colon-delimited list of commands,
each of
which in turn is used to try to start a web browser for man --html.
In each
command, %s is replaced by a filename containing the HTML output
from groff,
%% is replaced by a single percent sign (%), and %c is replaced
by a colon
(:).
SYSTEM If $SYSTEM is set, it will have the same effect as if it had been
specified as
the argument to the -m option.
MANOPT If $MANOPT is set, it will be parsed prior to man's command line and
is ex‐
pected to be in a similar format. As all of the other man specific
environ‐
ment variables can be expressed as command line options, and are
thus candi‐
dates for being included in $MANOPT it is expected that they will
become obso‐
lete. N.B. All spaces that should be interpreted as part of an
option's ar‐
gument must be escaped.
MANWIDTH
If $MANWIDTH is set, its value is used as the line length for
which manual
pages should be formatted. If it is not set, manual pages will be
formatted
with a line length appropriate to the current terminal (using the
value of
$COLUMNS, and ioctl(2) if available, or falling back to 80
characters if nei‐
ther is available). Cat pages will only be saved when the default
formatting
can be used, that is when the terminal line length is between 66 and
80 char‐
acters.
MAN_KEEP_FORMATTING
Normally, when output is not being directed to a terminal (such as to
a file
or a pipe), formatting characters are discarded to make it easier to
read the
result without special tools. However, if $MAN_KEEP_FORMATTING is
set to any
non-empty value, these formatting characters are retained. This may
be useful
for wrappers around man that can interpret formatting characters.
MAN_KEEP_STDERR
Normally, when output is being directed to a terminal (usually to
a pager),
any error output from the command used to produce formatted versions
of manual
pages is discarded to avoid interfering with the pager's display.
Programs
such as groff often produce relatively minor error messages about
typographi‐
cal problems such as poor alignment, which are unsightly and
generally confus‐
ing when displayed along with the manual page. However, some users
want to
see them anyway, so, if $MAN_KEEP_STDERR is set to any non-empty
value, error
output will be displayed as usual.
MAN_DISABLE_SECCOMP
On Linux, man normally confines subprocesses that handle untrusted
data using
a seccomp(2) sandbox. This makes it safer to run complex parsing
code over
arbitrary manual pages. If this goes wrong for some reason unrelated
to the
content of the page being displayed, you can set
$MAN_DISABLE_SECCOMP to any
non-empty value to disable the sandbox.
PIPELINE_DEBUG
If the $PIPELINE_DEBUG environment variable is set to "1", then man
will print
debugging messages to standard error describing each subprocess it
runs.
LANG, LC_MESSAGES
Depending on system and implementation, either or both of $LANG and
$LC_MES‐
SAGES will be interrogated for the current message locale. man
will display
its messages in that locale (if available). See setlocale(3) for
precise de‐
tails.
FILES
/etc/man_db.conf
man-db configuration file.
/usr/share/man
A global manual page hierarchy.
STANDARDS
POSIX.1-2001, POSIX.1-2008, POSIX.1-2017.
SEE ALSO
apropos(1), groff(1), less(1), manpath(1), nroff(1), troff(1), whatis(1),
zsoelim(1),
manpath(5), man(7), catman(8), mandb(8)
HISTORY
1990, 1991 – Originally written by John W. Eaton (jwe@che.utexas.edu).
BUGS
https://gitlab.com/man-db/man-db/-/issues
https://savannah.nongnu.org/bugs/?group=man-db
2.13.0 2024-08-29
MAN(1)