Skip site navigation (1)Skip section navigation (2)

FreeBSD Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
MAN(1)                        Manual pager utils                        MAN(1)

       man - an interface to the on-line reference manuals

       man [-c|-w|-tZ] [-H[browser]] [-T[device]] [-X[dpi]] [-adhu7V] [-i|-I]
       [-m system[,...]] [-L locale] [-p string] [-C file] [-M path] [-P
       pager] [-r prompt] [-S list] [-e extension] [--warnings [warnings]]
       [[section] page ...] ...
       man -l [-7] [-tZ] [-H[browser]] [-T[device]] [-X[dpi]] [-p string] [-P
       pager] [-r prompt] [--warnings[warnings]] file ...
       man -k [apropos options] regexp ...
       man -f [whatis options] page ...

       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.

       0   Header files (usually found in /usr/include)
       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,
       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.

       The command or function illustration is a pattern that should match all
       possible invocations.  In some cases it is advisable to illustrate
       several exclusive invocations as is shown in the SYNOPSIS section of
       this manual page.

       man ls
           Display the manual page for the item (program) ls.

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

       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 contain 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 filesystem 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

       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
       hierarchy.  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 available on your system) via use of
       locale functions.  To activate such support, it is necessary to set
       either $LC_MESSAGES, $LANG or another system dependent environment
       variable to your language locale, usually specified in the POSIX 1003.1
       based format:


       If the desired page is available in your locale, it will be displayed
       in lieu of the standard (usually American English) page.

       Support for international message catalogues is also featured in this
       package and can be activated in the same way, again if available.  If
       you find that the manual pages and message catalogues 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.

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

       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 compress 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 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 resemble

       '\" <string>

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

       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.

       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

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

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

   Main modes of operation
       -f, --whatis
              Equivalent to whatis.  Display a short description from the
              manual page, if available. See whatis(1) for details.

       -k, --apropos
              Equivalent to apropos.  Search the short manual page
              descriptions for keywords and display any matches.  See
              apropos(1) for details.

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

   Finding manual pages
       -L locale, --locale=locale
              man will normally determine your current locale by a call to the
              C function setlocale(3) which interrogates various environment
              variables, possibly including $LC_MESSAGES and $LANG.  To
              temporarily override 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 described in the man-db
              manual (under "The manual page system").  To view manual pages
              outside such hierarchies, see the -l option.

       -S list, -s list, --sections=list
              List is a colon- or comma-separated list of `order specific'
              manual sections to search.  This option overrides the $MANSECT
              environment variable.  (The -s spelling is for compatibility
              with System V.)

       -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 specific `extension' 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

       -I, --match-case
              Search for manual pages case-sensitively.

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

   Controlling formatted output
       -P pager, --pager=pager
              Specify which output pager to use.  By default, man uses less
              -s.  This option overrides the $MANPAGER environment variable,
              which in turn overrides the $PAGER environment variable.  It is
              not used in conjunction with -f or -k.

       -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

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

              It is broken into two 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 variable described

       -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 displayed properly when using GNU
              nroff's latin1(7) device.

              Description           Octal   latin1   ascii
              continuation hyphen    255      -        -
              bullet (middle dot)    267     o       o
              acute accent           264      '        '
              multiplication sign    327      x        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

              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.

       -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

       -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 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
       -h, --help
              Print a help message and exit.

       -V, --version
              Display version information.

       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

              If $MANPATH is set, its value is used as the path to search for
              manual pages.

              The contents of $MANROFFOPT are added to the command line every
              time man invokes the formatter (nroff, troff, or groff).

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

              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.

              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.

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

              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.

              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.

              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

              Depending on system and implementation, either or both of $LANG
              and $LC_MESSAGES will be interrogated for the current message
              locale.  man will display its messages in that locale (if
              available).  See setlocale(3) for precise details.

              man-db configuration file.

              A global manual page hierarchy.

              A traditional global index database cache.

              An FHS compliant global index database cache.

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

       1990, 1991 - Originally written by John W. Eaton (

       Dec 23 1992: Rik Faith ( applied bug fixes supplied by
       Willem Kasdorp (

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

       30th October 1996 - 30th March 2001: Fabrizio Polacco
       <> maintained and enhanced this package for the
       Debian project, with the help of all the community.

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

2.5.2                             2008-05-05                            MAN(1)


Want to link to this manual page? Use this URL:

home | help