Print this page
Latest round of fixes per RM and AL.  Fix bugs found in man.c.
manpage lint.
feedback from Hans
mandoc import

*** 1,664 **** ! '\" te .\" Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved. ! .\" Copyright (c) 1980 Regents of the University of California. The Berkeley software License Agreement specifies the terms and conditions for redistribution. ! .TH MAN 1 "May 8, 2008" ! .SH NAME ! man \- find and display reference manual pages ! .SH SYNOPSIS ! .LP ! .nf ! \fBman\fR [\fB-\fR] [\fB-adFlrt\fR] [\fB-M\fR \fIpath\fR] [\fB-T\fR \fImacro-package\fR] [\fB-s\fR \fIsection\fR] \fIname\fR... ! .fi ! ! .LP ! .nf ! \fBman\fR [\fB-M\fR \fIpath\fR] \fB-k\fR \fIkeyword\fR... ! .fi ! ! .LP ! .nf ! \fBman\fR [\fB-M\fR \fIpath\fR] \fB-f\fR \fIfile\fR... ! .fi ! ! .SH DESCRIPTION ! .sp ! .LP ! The \fBman\fR command displays information from the reference manuals. It ! displays complete manual pages that you select by \fIname\fR, or one-line ! summaries selected either by \fIkeyword\fR (\fB-k\fR), or by the name of an ! associated file (\fB-f\fR). If no manual page is located, \fBman\fR prints an ! error message. ! .SS "Source Format" ! .sp ! .LP ! Reference Manual pages are marked up with either \fBnroff\fR (see ! \fBnroff\fR(1)) or \fBSGML\fR (Standard Generalized Markup Language) tags (see ! \fBsgml\fR(5)). The \fBman\fR command recognizes the type of markup and ! processes the file accordingly. The various source files are kept in separate ! directories depending on the type of markup. ! .SS "Location of Manual Pages" ! .sp ! .LP The online Reference Manual page directories are conventionally located in ! \fB/usr/share/man\fR. The nroff sources are located in the ! \fB/usr/share/man/man\fR* directories. The \fBSGML\fR sources are located in ! the \fB/usr/share/man/sman\fR* directories. Each directory corresponds to a section of the manual. Since these directories are optionally installed, they ! might not reside on your host. You might have to mount \fB/usr/share/man\fR from a host on which they do reside. ! .sp ! .LP ! If there are preformatted, up-to-date versions in the corresponding \fBcat\fR* ! or \fBfmt\fR* directories, \fBman\fR simply displays or prints those versions. ! If the preformatted version of interest is out of date or missing, \fBman\fR ! reformats it prior to display and stores the preformatted version if \fBcat\fR* ! or \fBfmt\fR* is writable. The \fBwindex\fR database is not updated. See ! \fBcatman\fR(1M). If directories for the preformatted versions are not ! provided, \fBman\fR reformats a page whenever it is requested. \fBman\fR uses a ! temporary file to store the formatted text during display. ! .sp ! .LP ! If the standard output is not a terminal, or if the `\fB-\fR' flag is given, ! \fBman\fR pipes its output through \fBcat\fR(1). Otherwise, \fBman\fR pipes its ! output through \fBmore\fR(1) to handle paging and underlining on the screen. ! .SH OPTIONS ! .sp ! .LP The following options are supported: ! .sp ! .ne 2 ! .na ! \fB\fB-a\fR\fR ! .ad ! .RS 20n ! Shows all manual pages matching \fIname\fR within the \fBMANPATH\fR search ! path. Manual pages are displayed in the order found. ! .RE ! ! .sp ! .ne 2 ! .na ! \fB\fB-d\fR\fR ! .ad ! .RS 20n Debugs. Displays what a section-specifier evaluates to, method used for ! searching, and paths searched by \fBman\fR. ! .RE ! ! .sp ! .ne 2 ! .na ! \fB\fB-f\fR \fIfile ...\fR\fR ! .ad ! .RS 20n ! \fBman\fR attempts to locate manual pages related to any of the given ! \fIfile\fRs. It strips the leading path name components from each \fIfile\fR, and then prints one-line summaries containing the resulting basename or names. ! This option also uses the \fBwindex\fR database. ! .RE ! ! .sp ! .ne 2 ! .na ! \fB\fB-F\fR\fR ! .ad ! .RS 20n ! Forces \fBman\fR to search all directories specified by \fBMANPATH\fR or the ! \fBman.cf\fR file, rather than using the \fBwindex\fR lookup database. This ! option is useful if the database is not up to date and it has been made the ! default behavior of the \fBman\fR command. The option therefore does not have ! to be invoked and is documented here for reference only. ! .RE ! ! .sp ! .ne 2 ! .na ! \fB\fB-k\fR \fIkeyword ...\fR\fR ! .ad ! .RS 20n ! Prints out one-line summaries from the \fBwindex\fR database (table of ! contents) that contain any of the given \fIkeyword\fRs. The \fBwindex\fR ! database is created using \fBcatman\fR(1M). ! .RE ! ! .sp ! .ne 2 ! .na ! \fB\fB-l\fR\fR ! .ad ! .RS 20n ! Lists all manual pages found matching \fIname\fR within the search path. ! .RE ! ! .sp ! .ne 2 ! .na ! \fB\fB-M\fR \fIpath\fR\fR ! .ad ! .RS 20n ! Specifies an alternate search path for manual pages. \fIpath\fR is a ! colon-separated list of directories that contain manual page directory ! subtrees. For example, if \fIpath\fR is \fB/usr/share/man:/usr/local/man\fR, ! \fBman\fR searches for \fIname\fR in the standard location, and then ! \fB/usr/local/man\fR. When used with the \fB-k\fR or \fB-f\fR options, the ! \fB-M\fR option must appear first. Each directory in the \fIpath\fR is assumed ! to contain subdirectories of the form \fBman\fR* or \fBsman\fR* , one for each ! section. This option overrides the \fBMANPATH\fR environment variable. ! .RE ! ! .sp ! .ne 2 ! .na ! \fB\fB-r\fR\fR ! .ad ! .RS 20n ! Reformats the manual page, but does not display it. This replaces the \fBman\fR ! \fB-\fR \fB-t\fR \fIname\fR combination. ! .RE ! ! .sp ! .ne 2 ! .na ! \fB\fB-s\fR \fIsection ...\fR\fR ! .ad ! .RS 20n ! Specifies sections of the manual for \fBman\fR to search. The directories ! searched for \fIname\fR are limited to those specified by \fIsection\fR. ! \fIsection\fR can be a numerical digit, perhaps followed by one or more letters ! to match the desired section of the manual, for example, "\fB3libucb\fR". Also, ! \fIsection\fR can be a word, for example, \fBlocal\fR, \fBnew\fR, \fBold\fR, ! \fBpublic\fR. \fIsection\fR can also be a letter. To specify multiple sections, ! separate each section with a comma. This option overrides the \fBMANPATH\fR ! environment variable and the \fBman.cf\fR file. See \fBSearch\fR \fBPath\fR ! below for an explanation of how \fBman\fR conducts its search. ! .RE ! ! .sp ! .ne 2 ! .na ! \fB\fB-t\fR\fR ! .ad ! .RS 20n ! \fBman\fR arranges for the specified manual pages to be \fBtroff\fRed to a ! suitable raster output device (see \fBtroff\fR(1)). If both the \fB-\fR and ! \fB-t\fR flags are given, \fBman\fR updates the \fBtroff\fRed versions of each ! named \fIname\fR (if necessary), but does not display them. ! .RE ! ! .sp ! .ne 2 ! .na ! \fB\fB-T\fR \fImacro-package\fR\fR ! .ad ! .RS 20n ! Formats manual pages using \fImacro-package\fR rather than the standard ! \fB-man\fR macros defined in \fB/usr/share/lib/tmac/an\fR. See \fBSearch ! Path\fR under USAGE for a complete explanation of the default search path ! order. ! .RE ! ! .SH OPERANDS ! .sp ! .LP The following operand is supported: ! .sp ! .ne 2 ! .na ! \fB\fIname\fR\fR ! .ad ! .RS 8n The name of a standard utility or a keyword. ! .RE ! ! .SH USAGE ! .sp ! .LP ! The usage of \fBman\fR is described below: ! .SS "Manual Page Sections" ! .sp ! .LP ! Entries in the reference manuals are organized into \fIsection\fRs. A section name consists of a major section name, typically a single digit, optionally followed by a subsection name, typically one or more letters. An unadorned ! major section name, for example, "\fB9\fR", does not act as an abbreviation for ! the subsections of that name, such as "\fB9e\fR", "\fB9f\fR", or "\fB9s\fR". ! That is, each subsection must be searched separately by \fBman\fR \fB-s\fR. Each section contains descriptions apropos to a particular reference category, ! with subsections refining these distinctions. See the \fBintro\fR manual pages ! for an explanation of the classification used in this release. ! .SS "Search Path" ! .sp ! .LP ! Before searching for a given \fIname\fR, \fBman\fR constructs a list of ! candidate directories and sections. \fBman\fR searches for \fIname\fR in the ! directories specified by the \fBMANPATH\fR environment variable. ! .sp ! .LP ! In the absence of \fBMANPATH\fR, \fBman\fR constructs its search path based ! upon the \fBPATH\fR environment variable, primarily by substituting \fBman\fR ! for the last component of the \fBPATH\fR element. Special provisions are added ! to account for unique characteristics of directories such as \fB/sbin\fR, ! \fB/usr/ucb\fR, \fB/usr/xpg4/bin\fR, and others. If the file argument contains ! a \fB/\fR character, the \fIdirname\fR portion of the argument is used in place ! of \fBPATH\fR elements to construct the search path. ! .sp ! .LP ! Within the manual page directories, \fBman\fR confines its search to the sections specified in the following order: ! .RS +4 ! .TP ! .ie t \(bu ! .el o ! \fIsection\fRs specified on the command line with the \fB-s\fR option ! .RE ! .RS +4 ! .TP ! .ie t \(bu ! .el o ! \fIsection\fRs embedded in the \fBMANPATH\fR environment variable ! .RE ! .RS +4 ! .TP ! .ie t \(bu ! .el o ! \fIsection\fRs specified in the \fBman.cf\fR file for each directory specified ! in the \fBMANPATH\fR environment variable ! .RE ! .sp ! .LP ! If none of the above exist, \fBman\fR searches each directory in the manual page path, and displays the first matching manual page found. ! .sp ! .LP ! The \fBman.cf\fR file has the following format: ! .sp ! .in +2 ! .nf ! MANSECTS=\fIsection\fR[,\fIsection\fR]... ! .fi ! .in -2 ! .sp ! ! .sp ! .LP ! Lines beginning with `\fB#\fR' and blank lines are considered comments, and are ! ignored. Each directory specified in \fBMANPATH\fR can contain a manual page configuration file, specifying the default search order for that directory. ! .SH FORMATTING MANUAL PAGES ! .sp ! .LP ! Manual pages are marked up in \fBnroff\fR(1) or \fBsgml\fR(5). Nroff manual ! pages are processed by \fBnroff\fR(1) or \fBtroff\fR(1) with the \fB-man\fR ! macro package. Please refer to \fBman\fR(5) for information on macro usage. ! \fBSGML\fR\(emtagged manual pages are processed by an \fBSGML\fR parser and ! passed to the formatter. ! .SS "Preprocessing Nroff Manual Pages" ! .sp ! .LP ! When formatting an nroff manual page, \fBman\fR examines the first line to ! determine whether it requires special processing. If the first line is a string ! of the form: ! .sp ! .in +2 ! .nf ! \&'\e" \fIX\fR ! .fi ! .in -2 ! .sp ! ! .sp ! .LP ! where \fIX\fR is separated from the `\fB"\fR' by a single SPACE and consists of ! any combination of characters in the following list, \fBman\fR pipes its input ! to \fBtroff\fR(1) or \fBnroff\fR(1) through the corresponding preprocessors. ! .sp ! .ne 2 ! .na ! \fB\fBe\fR\fR ! .ad ! .RS 5n ! \fBeqn\fR(1), or \fBneqn\fR for \fBnroff\fR ! .RE ! ! .sp ! .ne 2 ! .na ! \fB\fBr\fR\fR ! .ad ! .RS 5n ! \fBrefer\fR(1) ! .RE ! ! .sp ! .ne 2 ! .na ! \fB\fBt\fR\fR ! .ad ! .RS 5n ! \fBtbl\fR(1) ! .RE ! ! .sp ! .ne 2 ! .na ! \fB\fBv\fR\fR ! .ad ! .RS 5n ! \fBvgrind\fR(1) ! .RE ! ! .sp ! .LP ! If \fBeqn\fR or \fBneqn\fR is invoked, it automatically reads the file ! \fB/usr/pub/eqnchar\fR (see \fBeqnchar\fR(5)). If \fBnroff\fR(1) is invoked, ! \fBcol\fR(1) is automatically used. ! .SS "Referring to Other nroff Manual Pages" ! .sp ! .LP ! If the first line of the nroff manual page is a reference to another manual page entry fitting the pattern: ! .sp ! .in +2 ! .nf ! \&.so man*/\fIsourcefile\fR ! .fi ! .in -2 ! .sp ! ! .sp ! .LP ! \fBman\fR processes the indicated file in place of the current one. The reference must be expressed as a path name relative to the root of the manual page directory subtree. ! .sp ! .LP When the second or any subsequent line starts with \fB\&.so\fR, \fBman\fR ignores it; \fBtroff\fR(1) or \fBnroff\fR(1) processes the request in the usual manner. ! .SS "Processing SGML Manual Pages" ! .sp ! .LP ! Manual pages are identified as being marked up in SGML by the presence of the ! string \fB<!DOCTYPE\fR\&. If the file also contains the string ! \fBSHADOW_PAGE\fR, the file refers to another manual page for the content. The ! reference is made with a file entity reference to the manual page that contains ! the text. This is similar to the \fB\&.so\fR mechanism used in the nroff ! formatted man pages. ! .SH ENVIRONMENT VARIABLES ! .sp ! .LP ! See \fBenviron\fR(5) for descriptions of the following environment variables ! that affect the execution of \fBman\fR: \fBLANG\fR, \fBLC_ALL\fR, ! \fBLC_CTYPE\fR, \fBLC_MESSAGES\fR, and \fBNLSPATH\fR. ! .sp ! .ne 2 ! .na ! \fB\fBMANPATH\fR\fR ! .ad ! .RS 11n A colon-separated list of directories; each directory can be followed by a comma-separated list of sections. If set, its value overrides \fB/usr/share/man\fR as the default directory search path, and the \fBman.cf\fR file as the default section search path. The \fB-M\fR and \fB-s\fR flags, in turn, override these values.) ! .RE ! ! .sp ! .ne 2 ! .na ! \fB\fBPAGER\fR\fR ! .ad ! .RS 11n ! A program to use for interactively delivering \fBman\fR's output to the screen. ! If not set, `\fBmore\fR \fB-s\fR' is used. See \fBmore\fR(1). ! .RE ! ! .sp ! .ne 2 ! .na ! \fB\fBTCAT\fR\fR ! .ad ! .RS 11n ! The name of the program to use to display \fBtroff\fRed manual pages. ! .RE ! ! .sp ! .ne 2 ! .na ! \fB\fBTROFF\fR\fR ! .ad ! .RS 11n ! The name of the formatter to use when the \fB-t\fR flag is given. If not set, ! \fBtroff\fR(1) is used. ! .RE ! ! .SH EXAMPLES ! .LP ! \fBExample 1 \fRCreating a PostScript Version of a man page ! .sp ! .LP ! The following example creates the \fBpipe\fR(2) man page in postscript for csh, ! tcsh, ksh and sh users: ! ! .sp ! .in +2 ! .nf ! % env TCAT=/usr/lib/lp/postscript/dpost man -t -s 2 pipe > pipe.ps ! .fi ! .in -2 ! .sp ! ! .sp ! .LP ! This is an alternative to using \fBman\fR \fB-t\fR, which sends the man page to ! the default printer, if the user wants a postscript file version of the man ! page. ! ! .LP ! \fBExample 2 \fRCreating a Text Version of a man page ! .sp ! .LP ! The following example creates the \fBpipe\fR(2) man page in ascii text: ! ! .sp ! .in +2 ! .nf ! man pipe.2 | col -x -b > pipe.text ! .fi ! .in -2 ! .sp ! ! .sp ! .LP ! This is an alternative to using \fBman\fR \fB-t\fR, which sends the man page to ! the default printer, if the user wants a text file version of the man page. ! ! .SH EXIT STATUS ! .sp ! .LP ! The following exit values are returned: ! .sp ! .ne 2 ! .na ! \fB\fB0\fR\fR ! .ad ! .RS 6n ! Successful completion. ! .RE ! ! .sp ! .ne 2 ! .na ! \fB\fB>0\fR\fR ! .ad ! .RS 6n ! An error occurred. ! .RE ! ! .SH FILES ! .sp ! .ne 2 ! .na ! \fB\fB/usr/share/man\fR\fR ! .ad ! .sp .6 ! .RS 4n Root of the standard manual page directory subtree ! .RE ! ! .sp ! .ne 2 ! .na ! \fB\fB/usr/share/man/man?/*\fR\fR ! .ad ! .sp .6 ! .RS 4n ! Unformatted nroff manual entries ! .RE ! ! .sp ! .ne 2 ! .na ! \fB\fB/usr/share/man/sman?/*\fR\fR ! .ad ! .sp .6 ! .RS 4n ! Unformatted \fBSGML\fR manual entries ! .RE ! ! .sp ! .ne 2 ! .na ! \fB\fB/usr/share/man/cat?/*\fR\fR ! .ad ! .sp .6 ! .RS 4n ! \fBnroff\fRed manual entries ! .RE ! ! .sp ! .ne 2 ! .na ! \fB\fB/usr/share/man/fmt?/*\fR\fR ! .ad ! .sp .6 ! .RS 4n ! \fBtroff\fRed manual entries ! .RE ! ! .sp ! .ne 2 ! .na ! \fB\fB/usr/share/man/windex\fR\fR ! .ad ! .sp .6 ! .RS 4n Table of contents and keyword database ! .RE ! ! .sp ! .ne 2 ! .na ! \fB\fB/usr/share/lib/tmac/an\fR\fR ! .ad ! .sp .6 ! .RS 4n ! Standard \fB-man\fR macro package ! .RE ! ! .sp ! .ne 2 ! .na ! \fB\fB/usr/share/lib/sgml/locale/C/dtd/*\fR\fR ! .ad ! .sp .6 ! .RS 4n ! \fBSGML\fR document type definition files ! .RE ! ! .sp ! .ne 2 ! .na ! \fB\fB/usr/share/lib/sgml/locale/C/solbook/*\fR\fR ! .ad ! .sp .6 ! .RS 4n ! \fBSGML\fR style sheet and entity definitions directories ! .RE ! ! .sp ! .ne 2 ! .na ! \fB\fB/usr/share/lib/pub/eqnchar\fR\fR ! .ad ! .sp .6 ! .RS 4n ! Standard definitions for \fBeqn\fR and \fBneqn\fR ! .RE ! ! .sp ! .ne 2 ! .na ! \fB\fBman.cf\fR\fR ! .ad ! .sp .6 ! .RS 4n Default search order by section ! .RE ! ! .SH ATTRIBUTES ! .sp ! .LP ! See \fBattributes\fR(5) for descriptions of the following attributes: ! .sp ! ! .sp ! .TS ! box; ! c | c ! l | l . ! ATTRIBUTE TYPE ATTRIBUTE VALUE ! _ ! CSI Enabled, see \fBNOTES\fR. ! _ ! Interface Stability Committed ! _ ! Standard See \fBstandards\fR(5). ! .TE ! ! .SH SEE ALSO ! .sp ! .LP ! \fBapropos\fR(1), \fBcat\fR(1), \fBcol\fR(1), \fBdpost\fR(1), \fBeqn\fR(1), ! \fBmore\fR(1), \fBnroff\fR(1), \fBrefer\fR(1), \fBtbl\fR(1), \fBtroff\fR(1), ! \fBvgrind\fR(1), \fBwhatis\fR(1), \fBcatman\fR(1M), \fBattributes\fR(5), ! \fBenviron\fR(5), \fBeqnchar\fR(5), \fBman\fR(5), \fBsgml\fR(5), ! \fBstandards\fR(5) ! .SH NOTES ! .sp ! .LP ! The \fB-f\fR and \fB-k\fR options use the \fBwindex\fR database, which is ! created by \fBcatman\fR(1M). ! .sp ! .LP ! The \fBman\fR command is CSI-capable. However, some utilities invoked by the ! \fBman\fR command, namely, \fBtroff\fR, \fBeqn\fR, \fBneqn\fR, \fBrefer\fR, ! \fBtbl\fR, and \fBvgrind\fR, are not verified to be CSI-capable. Because of ! this, the man command with the \fB-t\fR option can not handle non-EUC data. ! Also, using the \fBman\fR command to display man pages that require special ! processing through \fBeqn\fR, \fBneqn\fR, \fBrefer\fR, \fBtbl\fR, or ! \fBvgrind\fR can not be CSI-capable. ! .SH BUGS ! .sp ! .LP The manual is supposed to be reproducible either on a phototypesetter or on an ! \fBASCII\fR terminal. However, on a terminal some information (indicated by font changes, for instance) is lost. - .sp - .LP - Some dumb terminals cannot process the vertical motions produced by the \fBe\fR - (see \fBeqn\fR(1)) preprocessing flag. To prevent garbled output on these - terminals, when you use \fBe\fR, also use \fBt\fR, to invoke \fBcol\fR(1) - implicitly. This workaround has the disadvantage of eliminating superscripts - and subscripts, even on those terminals that can display them. Control-q clears - a terminal that gets confused by \fBeqn\fR(1) output. --- 1,401 ---- ! .\" Copyright 2014 Garrett D'Amore <garrett@damore.o .\" Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved. ! .\" Copyright (c) 1980 Regents of the University of California. ! .\" The Berkeley software License Agreement specifies the terms and conditions ! .\" for redistribution. ! .Dd Jul 18, 2014 ! .Dt MAN 1 ! .Os ! .Sh NAME ! .Nm man ! .Nd find and display reference manual pages ! .Sh SYNOPSIS ! .Nm ! .Op Fl ! .Op Fl adFlrt ! .Op Fl T Ar macro-package ! .Op Fl M Ar path ! .Op Fl s Ar section ! .Ar name ... ! .Nm ! .Op Fl M Ar path ! .Op Fl s Ar section ! .Fl k ! .Ar keyword ! .Ar ... ! .Nm ! .Op Fl M Ar path ! .Op Fl s Ar section ! .Fl f ! .Ar ! .Nm ! .Op Fl M Ar path ! .Fl w ! .Sh DESCRIPTION ! The ! .Nm ! command displays information from the reference manuals. It ! displays complete manual pages that you select by ! .Ar name , ! or one-line summaries selected either by ! .Ar keyword ! .Pq Fl k , ! or by the name of an associated file ! .Pq Fl f . ! If no manual page is located, ! .Nm ! prints an error message. ! .Ss "Source Format" ! Reference Manual pages are marked up with either ! .Xr man 5 , ! or ! .Xr mdoc 5 ! language tags. The ! .Nm ! command recognizes the type of markup and ! processes the file accordingly. ! . ! .Ss "Location of Manual Pages" ! . The online Reference Manual page directories are conventionally located in ! .Pa /usr/share/man . ! Each directory corresponds to a section of the manual. Since these directories are optionally installed, they ! might not reside on your host. You might have to mount ! .Pa /usr/share/man from a host on which they do reside. ! The ! .Nm ! command reformats a page whenever it is requested. ! .Pp ! If the standard output is not a terminal, or if the ! .Fl ! flag is given, ! .Nm ! pipes its output through ! .Xr cat 1 . ! Otherwise, ! .Nm ! pipes its output through a pager such as ! .Xr more 1 ! to handle paging and underlining on the screen. ! .Sh OPTIONS The following options are supported: ! .Bl -tag -width indent ! .It Fl a ! Shows all manual pages matching ! .Ar name ! within the ! .Ev MANPATH ! search path. Manual pages are displayed in the order found. ! .It Fl d Debugs. Displays what a section-specifier evaluates to, method used for ! searching, and paths searched by ! .Nm . ! .It Fl f Ar file ... ! Attempts to locate manual pages related to any of the given ! .Ar file ! names. It strips the leading path name components from each ! .Ar file , and then prints one-line summaries containing the resulting basename or names. ! This option also uses the ! .Pa whatis ! database. ! .It Fl F ! This option is present for backwards compatibility and is documented ! here for reference only. It performs no function. ! .It Fl k Ar keyword ... ! Prints out one-line summaries from the ! .Pa whatis ! database (table of contents) that contain any of the given ! .Ar keyword . ! The ! .Pa whatis ! database is created using the ! .Fl w ! option. ! .It Fl l ! Lists all manual pages found matching ! .Ar name ! within the search path. ! .It Fl M Ar path ! Specifies an alternate search path for manual pages. The ! .Ar path ! is a colon-separated list of directories that contain manual page directory ! subtrees. For example, if ! .Ar path ! is ! .Pa /usr/share/man:/usr/local/man , ! .Nm ! searches for ! .Ar name ! in the standard location, and then ! .Pa /usr/local/man . ! When used with the ! .Fl k , ! .Fl f , ! or ! .Fl w ! options, the ! .Fl M ! option must appear first. Each directory in the ! .Ar path ! is assumed to contain subdirectories of the form ! .Pa man* , ! one for each section. This option overrides the ! .Ev MANPATH ! environment variable. ! .It Fl r ! Reformats the manual page, checking for formatting errors, but does not ! display it. ! .It Fl s Ar section ! Specifies sections of the manual for ! .Nm ! to search. The directories searched for ! .Ar name ! are limited to those specified by ! .Ar section . ! .Ar section ! can be a numerical digit, perhaps followed by one or more letters ! to match the desired section of the manual, for example, ! .Li "3libucb". ! Also, ! .Ar section ! can be a word, for example, ! .Li local , ! .Li new , ! .Li old , ! .Li public . ! .Ar section ! can also be a letter. To specify multiple sections, ! separate each section with a comma. This option overrides the ! .Ev MANPATH ! environment variable and the ! .Pa man.cf ! file. See ! .Sx Search Path ! below for an explanation of how ! .Nm ! conducts its search. ! .It Fl t ! Arranges for the specified manual pages to be sent to the default ! printer as PostScript. ! .It Fl T Ar macro-package ! This option is present for backwards compatibility and is documented ! here for reference only. It performs no function. ! .It Fl w ! Updates the ! .Nm whatis ! database. ! .El ! .Sh OPERANDS The following operand is supported: ! .Bl -tag -width indent ! .It Ar name The name of a standard utility or a keyword. ! .El ! .Sh USAGE ! The usage of ! .Nm ! is described below: ! . ! .Ss "Manual Page Sections" ! . ! Entries in the reference manuals are organized into ! .Em sections . ! A section name consists of a major section name, typically a single digit, optionally followed by a subsection name, typically one or more letters. An unadorned ! major section name, for example, ! .Qq 9 , ! does not act as an abbreviation for ! the subsections of that name, such as ! .Qq 9e , ! .Qq 9f , ! or ! .Qq 9s . ! That is, each subsection must be searched separately by ! .Nm ! .Fl s . Each section contains descriptions apropos to a particular reference category, ! with subsections refining these distinctions. See the ! .Em intro ! manual pages for an explanation of the classification used in this release. ! . ! .Ss "Search Path" ! . ! Before searching for a given ! .Ar name , ! .Nm ! constructs a list of candidate directories and sections. ! It searches for ! .Ar name ! in the directories specified by the ! .Ev MANPATH ! environment variable. ! .Lp ! In the absence of ! .Ev MANPATH , ! .Nm ! constructs its search path based upon the ! .Ev PATH ! environment variable, primarily by substituting ! .Li man ! for the last component of the ! .Ev PATH ! element. Special provisions are added ! to account for unique characteristics of directories such as ! .Pa /sbin , ! .Pa /usr/ucb , ! .Pa /usr/xpg4/bin , ! and others. If the file argument contains ! a ! .Qq / ! character, the ! .Em dirname ! portion of the argument is used in place of ! .Ev PATH ! elements to construct the search path. ! .Lp ! Within the manual page directories, ! .Nm ! confines its search to the sections specified in the following order: ! .Bl -bullet ! .It ! .Ar sections ! specified on the command line with the ! .Fl s ! option ! .It ! .Ar sections ! embedded in the ! .Ev MANPATH ! environment variable ! .It ! .Ar sections ! specified in the ! .Pa man.cf ! file for each directory specified in the ! .Ev MANPATH ! environment variable ! .El ! If none of the above exist, ! .Nm ! searches each directory in the manual page path, and displays the first matching manual page found. ! .Lp ! The ! .Pa man.cf ! file has the following format: ! .Lp ! .Dl Pf MANSECTS= Ar section , Ns Op Ar section... ! .Lp ! Lines beginning with ! .Sq Li # ! and blank lines are considered comments, and are ! ignored. Each directory specified in ! .Ev MANPATH ! can contain a manual page configuration file, specifying the default search order for that directory. ! .Sh "Referring to Other Manual Pages" ! If the first line of the manual page is a reference to another manual page entry fitting the pattern: ! .Lp ! .Dl \&.so man*/\fIsourcefile\fR ! .Lp ! .Nm ! processes the indicated file in place of the current one. The reference must be expressed as a path name relative to the root of the manual page directory subtree. ! .Lp When the second or any subsequent line starts with \fB\&.so\fR, \fBman\fR ignores it; \fBtroff\fR(1) or \fBnroff\fR(1) processes the request in the usual manner. ! .Sh ENVIRONMENT VARIABLES ! See ! .Xr environ 5 ! for descriptions of the following environment variables ! that affect the execution of ! .Nm man : ! .Ev LANG , ! .Ev LC_ALL , ! .Ev LC_CTYPE , ! .Ev LC_MESSAGES , ! and ! .Ev NLSPATH . ! .Bl -tag -width indent ! .It Ev MANPATH A colon-separated list of directories; each directory can be followed by a comma-separated list of sections. If set, its value overrides \fB/usr/share/man\fR as the default directory search path, and the \fBman.cf\fR file as the default section search path. The \fB-M\fR and \fB-s\fR flags, in turn, override these values.) ! .It Ev PAGER ! A program to use for interactively delivering ! output to the screen. If not set, ! .Sq Nm more Fl s ! is used. See ! .Xr more 1 . ! .El ! .Sh FILES ! .Bl -tag -width indent ! .It Pa /usr/share/man Root of the standard manual page directory subtree ! .It Pa /usr/share/man/man?/* ! Unformatted manual entries ! .It Pa /usr/share/man/whatis Table of contents and keyword database ! .It Pa man.cf Default search order by section ! .El ! .Sh EXIT STATUS ! .Ex -std man ! .Sh EXAMPLES ! . ! .Ss Example 1: Creating a PostScript Version of a man page ! . ! The following example spools the ! .Xr pipe 2 ! man page in PostScript to the default printer: ! .Pp ! .Dl % man -t -s 2 pipe ! .Pp ! Note that ! .Xr mandoc 1 ! can be used to obtain the PostScript content directly. ! .Ss Example 2: Creating a Text Version of a man page ! The following example creates the ! .Xr pipe 2 ! man page in ASCII text: ! .Pp ! .Dl % man pipe.2 | col -x -b > pipe.text ! .Sh CODE SET INDEPENDENCE ! Enabled. ! .Sh INTERFACE STABILITY ! .Nm Committed . ! .Sh SEE ALSO ! .Xr apropos 1 , ! .Xr cat 1 , ! .Xr col 1 , ! .Xr mandoc 1 , ! .Xr more 1 , ! .Xr whatis 1 , ! .Xr environ 5 , ! .Xr man 5 , ! .Xr mdoc 5 ! .Sh NOTES ! The ! .Fl f ! and ! .Fl k ! options use the ! .Nm whatis ! database, which is ! created with the ! .Fl w ! option. ! .Sh BUGS The manual is supposed to be reproducible either on a phototypesetter or on an ! ASCII terminal. However, on a terminal some information (indicated by font changes, for instance) is lost.