Back to main site | Back to man page index

MAN(1)                                            Manual pager utils                                           MAN(1)



NAME
       man - an interface to the on-line reference manuals

SYNOPSIS
       man  [-C  file]  [-d]  [-D]  [--warnings[=warnings]] [-R encoding] [-L locale] [-m system[,...]] [-M path] [-S
       list] [-e extension] [-i|-I] [--regex|--wildcard] [--names-only] [-a]  [-u]  [--no-subpages]  [-P  pager]  [-r
       prompt] [-7] [-E encoding] [--no-hyphenation] [--no-justification] [-p string] [-t] [-T[device]] [-H[browser]]
       [-X[dpi]] [-Z] [[section] page ...] ...
       man -k [apropos options] regexp ...
       man -K [-w|-W] [-S list] [-i|-I] [--regex] [section] term ...
       man -f [whatis options] page ...
       man -l [-C file] [-d] [-D] [--warnings[=warnings]] [-R encoding] [-L locale] [-P pager] [-r prompt]  [-7]  [-E
       encoding] [-p string] [-t] [-T[device]] [-H[browser]] [-X[dpi]] [-Z] file ...
       man -w|-W [-C file] [-d] [-D] page ...
       man -c [-C file] [-d] [-D] page ...
       man [-?V]

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 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.


       1   Executable programs or shell commands
       2   System calls (functions provided by the kernel)
       3   Library calls (functions within program libraries)
       4   Special files (usually found in /dev)
       5   File formats and conventions eg /etc/passwd
       6   Games
       7   Miscellaneous (including macro packages and conventions), e.g. man(7), groff(7)
       8   System administration commands (usually only for root)
       9   Kernel routines [Non standard]

       A manual page consists of several sections.

       Conventional   section  names  include  NAME,  SYNOPSIS,  CONFIGURATION,  DESCRIPTION,  OPTIONS,  EXIT STATUS,
       RETURN VALUE, ERRORS,  ENVIRONMENT,  FILES,  VERSIONS,  CONFORMING TO,  NOTES,  BUGS,  EXAMPLE,  AUTHORS,  and
       SEE ALSO.

       The following conventions apply to the SYNOPSIS section and can be used as a guide in other sections.


       bold text          type exactly as shown.
       italic text        replace with appropriate argument.
       [-abc]             any or all arguments within [ ] are optional.
       -a|-b              options delimited by | cannot be used together.
       argument ...       argument is repeatable.
       [expression] ...   entire expression within [ ] is repeatable.

       Exact rendering may vary depending on the output device.  For instance, man will usually not be able to render
       italics when running in a terminal, and will typically use underlined or coloured text instead.

       man -t alias | lpr -Pps
           Format the manual page referenced by `alias', usually a shell manual page, into the default troff or groff
           format and pipe it to the printer named ps.  The default output for  groff  is  usually  PostScript.   man
           --help should advise as to which processor is bound to the -t option.

       man -l -Tdvi ./foo.1x.gz > ./foo.1x.dvi
           This command will decompress and format the nroff source manual page ./foo.1x.gz into a device independent
           (dvi) file.  The redirection is necessary as the -T flag causes output to be directed to  stdout  with  no
           pager.   The output could be viewed with a program such as xdvi or further processed into PostScript using
           a program such as dvips.

       man -k printf
           Search the short descriptions and manual page names for the keyword printf as regular  expression.   Print
           out any matches.  Equivalent to apropos -r printf.

       man -f smail
           Lookup the manual pages referenced by smail and print out the short descriptions of any found.  Equivalent
           to whatis -r 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.

       If set, various environment variables are interrogated to determine the operation of man.  It is  possible  to
       set  the  `catch all' variable $MANOPT to any string in command line format with the exception that any spaces
       used as part of an option's argument must be escaped (preceded by a backslash).  man will parse $MANOPT  prior
       to  parsing  its own command line.  Those options requiring an argument will be overridden by the same options
       found on the command line.  To reset all of the options set in $MANOPT, -D can be  specified  as  the  initial
       command  line  option.   This  will allow man to `forget' about the options specified in $MANOPT although they
       must still have been valid.

       The manual pager utilities packaged as man-db make extensive use of index database caches.  These caches  con‐
       tain  information such as where each manual page can be found on the filesystem and what its whatis (short one
       line description of the man page) contains, and allow man to run faster than if it had to search the  filesys‐
       tem each time to find the appropriate manual page.  If requested using the -u option, man will ensure that the
       caches remain consistent, which can obviate the need to manually run software  to  update  traditional  whatis
       text databases.

       If  man  cannot  find  a  mandb initiated index database for a particular manual page hierarchy, it will still
       search for the requested manual pages, although file globbing will be necessary to search within that  hierar‐
       chy.  If whatis or apropos fails to find an index it will try to extract information from a traditional whatis
       database instead.

       These utilities support compressed source nroff files having, by default, the extensions of .Z,  .z  and  .gz.
       It  is  possible  to  deal with any compression extension, but this information must be known at compile time.
       Also, by default, any cat pages produced are compressed using gzip.  Each `global' manual page hierarchy  such
       as  /usr/share/man  or /usr/X11R6/man may have any directory as its cat page hierarchy.  Traditionally the cat
       pages are stored under the same hierarchy as the man pages, but for reasons such as  those  specified  in  the
       File  Hierarchy  Standard  (FHS),  it  may  be better to store them elsewhere.  For details on how to do this,
       please read manpath(5).  For details on why to do this, read the standard.

       International support is available with this package.  Native language manual pages are accessible (if  avail‐
       able  on  your  system)  via use of locale functions.  To activate such support, it is necessary to set either

       For information regarding other features and extensions available with this manual pager, please read the doc‐
       uments supplied with the package.

DEFAULTS
       man will search for the desired manual pages within the index database caches. If the -u option  is  given,  a
       cache  consistency  check  is  performed  to  ensure the databases accurately reflect the filesystem.  If this
       option is always given, it is not generally necessary to run mandb after the  caches  are  initially  created,
       unless  a cache becomes corrupt.  However, the cache consistency check can be slow on systems with many manual
       pages installed, so it is not performed by default, and system administrators may wish to run mandb every week
       or  so to keep the database caches fresh.  To forestall problems caused by outdated caches, man will fall back
       to file globbing if a cache lookup fails, just as it would if no cache was present.

       Once a manual page has been located, a check is performed to find out if a relative  preformatted  `cat'  file
       already  exists  and  is  newer  than  the nroff file.  If it does and is, this preformatted file is (usually)
       decompressed and then displayed, via use of a pager.  The pager can be specified in a number of ways, or  else
       will  fall  back  to  a  default is used (see option -P for details).  If no cat is found or is older than the
       nroff file, the nroff is filtered through various programs and is shown immediately.

       If a cat file can be produced (a relative cat directory exists and has appropriate permissions), man will com‐
       press and store the cat file in the background.

       The  filters are deciphered by a number of means. Firstly, the command line option -p or the environment vari‐
       able $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 resemble

       '\" <string>

       where string can be any combination of letters described by option -p below.

       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 behaviour 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.

              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.

       -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 cor‐
              rect format.  No cat file is produced.  If '-' is listed as one of the arguments, input will  be  taken
              from  stdin.   When this option is not used, and man fails to find the page required, before displaying
              the error message, it attempts to act as if this option was supplied, using the name as a filename  and
              looking for an exact match.

       -w, --where, --path, --location
              Don't  actually  display  the manual pages, but do print the location(s) of the source nroff files that
              would be formatted.

       -W, --where-cat, --location-cat
              Don't actually display the manual pages, but do print the location(s) of the cat files  that  would  be
              displayed.  If -w and -W are both specified, print both separated by a space.

       -c, --catman
              This option is not for general use and should only be used by the catman program.

       -R encoding, --recode=encoding
              Instead  of  formatting  the manual page in the usual way, output its source converted to the specified
              encoding.  If you already know the encoding of the source file, you can also use  manconv(1)  directly.
              However,  this option allows you to convert several manual pages to a single encoding without having to
              explicitly state the encoding of each, provided that they were already installed in a structure similar
              to a manual page hierarchy.

   Finding manual pages
       -L locale, --locale=locale
              man will normally determine your current locale by a call to the C function setlocale(3) which interro‐
              gates various environment variables, possibly including $LC_MESSAGES and $LANG.  To  temporarily  over‐
              ride  the  determined  value,  use this option to supply a locale string directly to man.  Note that it
              will not take effect until the search for pages actually begins.  Output such as the help message  will
              always be displayed in the initially determined locale.

       -m system[,...], --systems=system[,...]
              If  this  system  has  access to other operating system's manual pages, they can be accessed using this
              option.  To search for a manual page from NewOS's manual page collection, use the option -m NewOS.

              The system specified can be a combination of comma delimited operating  system  names.   To  include  a
              search  of  the  native  operating  system's  manual pages, include the system name man in the argument
              string.  This option will override the $SYSTEM environment variable.

       -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 environment variable and causes option -m to be ignored.

              A  path  specified as a manpath must be the root of a manual page hierarchy structured into sections as
              to them, in this case, exit(3tcl).  Under normal operation, man will display exit(3) in  preference  to
              exit(3tcl).  To negotiate this situation 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 option -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 reason‐
              able 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 perform an `inode level' consistency check on its database caches to ensure
              that they are an accurate representation of the filesystem.  It will only have a useful effect  if  man
              is installed with the setuid bit set.

       --no-subpages
              By  default,  man will try to interpret pairs of manual page names given on the command line as equiva‐
              lent to a single manual page name containing a hyphen or an underscore.  This supports the common  pat‐
              tern 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:

                $ man -aw git diff
                /usr/share/man/man1/git-diff.1.gz

              To disable this behaviour, use the --no-subpages option.

                $ man -aw --no-subpages git diff
                /usr/share/man/man1/git.1.gz
                /usr/share/man/man3/Git.3pm.gz
                /usr/share/man/man1/diff.1.gz

   Controlling formatted output

              options.  The default prompt looks like

               Manual page name(sec) line x

              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 environment variable.

              Supplying -r with a string will override this default.  The string may contain the text  $MAN_PN  which
              will be expanded to the name of the current manual page and its section name surrounded by `(' and `)'.
              The string used to produce the default could be expressed as

              \ Manual\ page\ \$MAN_PN\ ?ltline\ %lt?L/%L.:
              byte\ %bB?s/%s..?\ (END):?pB\ %pB\\%..
              (press h for help or q to quit)

              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.

              If  you  want to override man's prompt string processing completely, use the $MANLESS environment vari‐
              able described below.

       -7, --ascii
              When viewing a pure ascii(7) manual page on a 7 bit terminal or terminal emulator, some characters  may
              not  display  correctly when using the latin1(7) device 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 dis‐
              played properly when using GNU nroff's latin1(7) device.


              Description           Octal   latin1   ascii
              ─────────────────────────────────────────────
              continuation hyphen    255      ‐        -
              bullet (middle dot)    267      ·        o
              acute accent           264      ´        '
              multiplication sign    327      ×        x

              If the latin1 column displays correctly, your terminal may be set up for  latin1  characters  and  this
              option  is  not  necessary.   If  the latin1 and ascii columns are identical, you are reading this page
              using this option or man did not format this page using the latin1 device description.  If  the  latin1
              column is missing or corrupt, you may need to view manual pages with this option.

              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
              do  not  use  this  option,  but consult the nroff documentation 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 preprocessors 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 required 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 suitable for a device other than
              the  default.   It  implies -t.  Examples (provided with Groff-1.17) include dvi, latin1, 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 implies -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 implies -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 cho‐
              sen 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.

       1      Usage, syntax or configuration file error.

       2      Operational error.

       3      A child process returned a non-zero exit status.

       16     At least one of the pages/files/keywords didn't exist or wasn't matched.

       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.

       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 -s is used.

              The  value  may  be a simple command name or a command with arguments, and may use shell quoting (back‐
              slashes, single quotes, or double quotes).  It may not use pipes to connect multiple commands;  if  you
              need  that,  use a wrapper script, which may take the file to display either as an argument or on stan‐
              dard input.

       MANLESS
              If $MANLESS is set, man will not perform any of its usual processing to set up a prompt string for  the
              less  pager.   Instead,  the value of $MANLESS will be copied verbatim into $LESS.  For example, if you
              want  to  set  the  prompt  string  unconditionally  to   “my   prompt   string”,   set   $MANLESS   to
              ‘-Psmy prompt string’.

       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 expected to be in a similar
              format.  As all of the other man specific environment  variables  can  be  expressed  as  command  line
              options,  and  are  thus  candidates for being included in $MANOPT it is expected that they will become
              obsolete.  N.B. All spaces that should be interpreted as part of an option's argument 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 an ioctl(2) if available, the value of $COLUMNS, or falling back to 80 characters if neither  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 characters.

       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 typograph‐
              ical problems such as poor alignment, which are unsightly and generally confusing 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.

       /usr/share/man/index.(bt|db|dir|pag)
              A traditional global index database cache.

       /var/cache/man/index.(bt|db|dir|pag)
              An FHS compliant global index database cache.

SEE ALSO
       apropos(1), groff(1), less(1), manpath(1),  nroff(1),  troff(1),  whatis(1),  zsoelim(1),  setlocale(3),  man‐
       path(5), ascii(7), latin1(7), man(7), catman(8), mandb(8), the man-db package manual, FSSTND

HISTORY
       1990, 1991 - Originally written by John W. Eaton ([email protected]).

       Dec   23   1992:   Rik   Faith   ([email protected])   applied   bug   fixes   supplied   by   Willem   Kasdorp
       ([email protected]).

       30th April 1994 - 23rd February 2000: Wilf. ([email protected]) has been  developing  and  maintaining
       this package with the help of a few dedicated people.

       30th October 1996 - 30th March 2001: Fabrizio Polacco <[email protected]> maintained and enhanced this pack‐
       age for the Debian project, with the help of all the community.

       31st March 2001 - present day: Colin Watson <[email protected]> is now developing and maintaining man-db.



2.6.3                                                 2012-09-17                                               MAN(1)