xref: /freebsd/contrib/mandoc/man.1 (revision 2f513db7)
1.\"	$Id: man.1,v 1.35 2019/03/09 15:55:01 schwarze Exp $
2.\"
3.\" Copyright (c) 1989, 1990, 1993
4.\"	The Regents of the University of California.  All rights reserved.
5.\" Copyright (c) 2003, 2007, 2008, 2014 Jason McIntyre <jmc@openbsd.org>
6.\" Copyright (c) 2010, 2011, 2014-2018 Ingo Schwarze <schwarze@openbsd.org>
7.\"
8.\" Redistribution and use in source and binary forms, with or without
9.\" modification, are permitted provided that the following conditions
10.\" are met:
11.\" 1. Redistributions of source code must retain the above copyright
12.\"    notice, this list of conditions and the following disclaimer.
13.\" 2. Redistributions in binary form must reproduce the above copyright
14.\"    notice, this list of conditions and the following disclaimer in the
15.\"    documentation and/or other materials provided with the distribution.
16.\" 3. Neither the name of the University nor the names of its contributors
17.\"    may be used to endorse or promote products derived from this software
18.\"    without specific prior written permission.
19.\"
20.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30.\" SUCH DAMAGE.
31.\"
32.\"     @(#)man.1	8.2 (Berkeley) 1/2/94
33.\"
34.Dd $Mdocdate: March 9 2019 $
35.Dt MAN 1
36.Os
37.Sh NAME
38.Nm man
39.Nd display manual pages
40.Sh SYNOPSIS
41.Nm man
42.Op Fl acfhklw
43.Op Fl C Ar file
44.Op Fl M Ar path
45.Op Fl m Ar path
46.Op Fl S Ar subsection
47.Op Oo Fl s Oc Ar section
48.Ar name ...
49.Sh DESCRIPTION
50The
51.Nm
52utility
53displays the
54manual pages entitled
55.Ar name .
56Pages may be selected according to
57a specific category
58.Pq Ar section
59or
60machine architecture
61.Pq Ar subsection .
62.Pp
63The options are as follows:
64.Bl -tag -width Ds
65.It Fl a
66Display all matching manual pages.
67Normally, only the first page found is displayed.
68.It Fl C Ar file
69Use the specified
70.Ar file
71instead of the default configuration file.
72This permits users to configure their own manual environment.
73See
74.Xr man.conf 5
75for a description of the contents of this file.
76.It Fl c
77Copy the manual page to the standard output instead of using
78.Xr more 1
79to paginate it.
80This is done by default if the standard output is not a terminal device.
81.Pp
82When using
83.Fl c ,
84most terminal devices are unable to show the markup.
85To print the output of
86.Nm
87to the terminal with markup but without using a pager, pipe it to
88.Xr ul 1 .
89To remove the markup, pipe the output to
90.Xr col 1
91.Fl b
92instead.
93.It Fl f
94A synonym for
95.Xr whatis 1 .
96It searches for
97.Ar name
98in manual page names and displays the header lines from all matching pages.
99The search is case insensitive and matches whole words only.
100.It Fl h
101Display only the SYNOPSIS lines of the requested manual pages.
102Implies
103.Fl a
104and
105.Fl c .
106.It Fl k
107A synonym for
108.Xr apropos 1 .
109Instead of
110.Ar name ,
111an expression can be provided using the syntax described in the
112.Xr apropos 1
113manual.
114By default, it displays the header lines of all matching pages.
115.It Fl l
116A synonym for
117.Xr mandoc 1 .
118The
119.Ar name
120arguments are interpreted as filenames.
121No search is done and
122.Ar file ,
123.Ar path ,
124.Ar section ,
125.Ar subsection ,
126and
127.Fl w
128are ignored.
129This option implies
130.Fl a .
131.It Fl M Ar path
132Override the list of standard directories which
133.Nm
134searches for manual pages.
135The supplied
136.Ar path
137must be a colon
138.Pq Ql \&:
139separated list of directories.
140This search path may also be set using the environment variable
141.Ev MANPATH .
142.It Fl m Ar path
143Augment the list of standard directories which
144.Nm
145searches for manual pages.
146The supplied
147.Ar path
148must be a colon
149.Pq Ql \&:
150separated list of directories.
151These directories will be searched before the standard directories or
152the directories specified using the
153.Fl M
154option or the
155.Ev MANPATH
156environment variable.
157.It Fl S Ar subsection
158Only show pages for the specified
159.Xr machine 1
160architecture.
161.Ar subsection
162is case insensitive.
163.Pp
164By default manual pages for all architectures are installed.
165Therefore this option can be used to view pages for one
166architecture whilst using another.
167.Pp
168This option overrides the
169.Ev MACHINE
170environment variable.
171.It Oo Fl s Oc Ar section
172Only select manuals from the specified
173.Ar section .
174The currently available sections are:
175.Pp
176.Bl -tag -width "localXXX" -offset indent -compact
177.It 1
178General commands
179.Pq tools and utilities .
180.It 2
181System calls and error numbers.
182.It 3
183Library functions.
184.It 3p
185.Xr perl 1
186programmer's reference guide.
187.It 4
188Device drivers.
189.It 5
190File formats.
191.It 6
192Games.
193.It 7
194Miscellaneous information.
195.It 8
196System maintenance and operation commands.
197.It 9
198Kernel internals.
199.El
200.Pp
201If not specified and a match is found in more than one section,
202the first match is selected from the following list:
2031, 8, 6, 2, 3, 5, 7, 4, 9, 3p.
204.It Fl w
205List the pathnames of all matching manual pages instead of displaying
206any of them.
207.El
208.Pp
209The options
210.Fl IKOTW
211are also supported and are documented in
212.Xr mandoc 1 .
213The options
214.Fl fkl
215are mutually exclusive and override each other.
216.Pp
217Guidelines for writing
218man pages can be found in
219.Xr mdoc 7 .
220.Pp
221The
222.Xr mandoc.db 5
223database is used for looking up manual page entries.
224In cases where the database is absent, outdated, or corrupt,
225.Nm
226falls back to looking for files called
227.Ar name . Ns Ar section .
228If both a formatted and an unformatted version of the same manual page,
229for example
230.Pa cat1/foo.0
231and
232.Pa man1/foo.1 ,
233exist in the same directory, only the unformatted version is used.
234The database is kept up to date with
235.Xr makewhatis 8 ,
236which is run by the
237.Xr weekly 8
238maintenance script.
239.Sh ENVIRONMENT
240.Bl -tag -width MANPATHX
241.It Ev MACHINE
242As some manual pages are intended only for specific architectures,
243.Nm
244searches any subdirectories,
245with the same name as the current architecture,
246in every directory which it searches.
247Machine specific areas are checked before general areas.
248The current machine type may be overridden by setting the environment
249variable
250.Ev MACHINE
251to the name of a specific architecture,
252or with the
253.Fl S
254option.
255.Ev MACHINE
256is case insensitive.
257.It Ev MANPAGER
258Any non-empty value of the environment variable
259.Ev MANPAGER
260is used instead of the standard pagination program,
261.Xr more 1 .
262If
263.Xr less 1
264is used, the interactive
265.Ic :t
266command can be used to go to the definitions of various terms, for
267example command line options, command modifiers, internal commands,
268environment variables, function names, preprocessor macros,
269.Xr errno 2
270values, and some other emphasized words.
271Some terms may have defining text at more than one place.
272In that case, the
273.Xr less 1
274interactive commands
275.Ic t
276and
277.Ic T
278can be used to move to the next and to the previous place providing
279information about the term last searched for with
280.Ic :t .
281The
282.Fl O Cm tag Ns Op = Ns Ar term
283option documented in the
284.Xr mandoc 1
285manual opens a manual page at the definition of a specific
286.Ar term
287rather than at the beginning.
288.It Ev MANPATH
289The standard search path used by
290.Nm
291may be changed by specifying a path in the
292.Ev MANPATH
293environment variable.
294The format of the path is a colon
295.Pq Ql \&:
296separated list of directories.
297Invalid paths are ignored.
298Overridden by
299.Fl M ,
300ignored if
301.Fl l
302is specified.
303.Pp
304If
305.Ev MANPATH
306begins with a colon, it is appended to the default list;
307if it ends with a colon, it is prepended to the default list;
308or if it contains two adjacent colons,
309the standard search path is inserted between the colons.
310If none of these conditions are met, it overrides the
311standard search path.
312.It Ev PAGER
313Specifies the pagination program to use when
314.Ev MANPAGER
315is not defined.
316If neither PAGER nor MANPAGER is defined,
317.Xr more 1
318.Fl s
319is used.
320.El
321.Sh FILES
322.Bl -tag -width /etc/man.conf -compact
323.It Pa /etc/man.conf
324default man configuration file
325.El
326.Sh EXIT STATUS
327.Ex -std man
328See
329.Xr mandoc 1
330for details.
331.Sh EXAMPLES
332Format a page for pasting extracts into an email message \(em
333avoid printing any UTF-8 characters, reduce the width to ease
334quoting in replies, and remove markup:
335.Pp
336.Dl $ man -T ascii -O width=65 pledge | col -b
337.Pp
338Read a typeset page in a PDF viewer:
339.Pp
340.Dl $ MANPAGER=mupdf man -T pdf lpd
341.Sh SEE ALSO
342.Xr apropos 1 ,
343.Xr col 1 ,
344.Xr mandoc 1 ,
345.Xr ul 1 ,
346.Xr whereis 1 ,
347.Xr man.conf 5 ,
348.Xr mdoc 7
349.Sh STANDARDS
350The
351.Nm
352utility is compliant with the
353.St -p1003.1-2008
354specification.
355.Pp
356The flags
357.Op Fl aCcfhIKlMmOSsTWw ,
358as well as the environment variables
359.Ev MACHINE ,
360.Ev MANPAGER ,
361and
362.Ev MANPATH ,
363are extensions to that specification.
364.Sh HISTORY
365A
366.Nm
367command first appeared in
368.At v3 .
369.Pp
370The
371.Fl w
372option first appeared in
373.At v7 ;
374.Fl f
375and
376.Fl k
377in
378.Bx 4 ;
379.Fl M
380in
381.Bx 4.3 ;
382.Fl a
383in
384.Bx 4.3 Tahoe ;
385.Fl c
386and
387.Fl m
388in
389.Bx 4.3 Reno ;
390.Fl h
391in
392.Bx 4.3 Net/2 ;
393.Fl C
394in
395.Nx 1.0 ;
396.Fl s
397and
398.Fl S
399in
400.Ox 2.3 ;
401and
402.Fl I ,
403.Fl K ,
404.Fl l ,
405.Fl O ,
406and
407.Fl W
408in
409.Ox 5.7 .
410The
411.Fl T
412option first appeared in
413.At III
414and was also added in
415.Ox 5.7 .
416