xref: /freebsd/contrib/mandoc/apropos.1 (revision 61d06d6bd19dafe8ea971dd43e8328fa1b473456)
1*61d06d6bSBaptiste Daroussin.\"	$Id: apropos.1,v 1.47 2018/02/23 18:54:02 schwarze Exp $
2*61d06d6bSBaptiste Daroussin.\"
3*61d06d6bSBaptiste Daroussin.\" Copyright (c) 2011, 2012 Kristaps Dzonsons <kristaps@bsd.lv>
4*61d06d6bSBaptiste Daroussin.\" Copyright (c) 2011, 2012, 2014, 2017 Ingo Schwarze <schwarze@openbsd.org>
5*61d06d6bSBaptiste Daroussin.\"
6*61d06d6bSBaptiste Daroussin.\" Permission to use, copy, modify, and distribute this software for any
7*61d06d6bSBaptiste Daroussin.\" purpose with or without fee is hereby granted, provided that the above
8*61d06d6bSBaptiste Daroussin.\" copyright notice and this permission notice appear in all copies.
9*61d06d6bSBaptiste Daroussin.\"
10*61d06d6bSBaptiste Daroussin.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11*61d06d6bSBaptiste Daroussin.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12*61d06d6bSBaptiste Daroussin.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13*61d06d6bSBaptiste Daroussin.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14*61d06d6bSBaptiste Daroussin.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15*61d06d6bSBaptiste Daroussin.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16*61d06d6bSBaptiste Daroussin.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17*61d06d6bSBaptiste Daroussin.\"
18*61d06d6bSBaptiste Daroussin.Dd $Mdocdate: February 23 2018 $
19*61d06d6bSBaptiste Daroussin.Dt APROPOS 1
20*61d06d6bSBaptiste Daroussin.Os
21*61d06d6bSBaptiste Daroussin.Sh NAME
22*61d06d6bSBaptiste Daroussin.Nm apropos ,
23*61d06d6bSBaptiste Daroussin.Nm whatis
24*61d06d6bSBaptiste Daroussin.Nd search manual page databases
25*61d06d6bSBaptiste Daroussin.Sh SYNOPSIS
26*61d06d6bSBaptiste Daroussin.Nm
27*61d06d6bSBaptiste Daroussin.Op Fl afk
28*61d06d6bSBaptiste Daroussin.Op Fl C Ar file
29*61d06d6bSBaptiste Daroussin.Op Fl M Ar path
30*61d06d6bSBaptiste Daroussin.Op Fl m Ar path
31*61d06d6bSBaptiste Daroussin.Op Fl O Ar outkey
32*61d06d6bSBaptiste Daroussin.Op Fl S Ar arch
33*61d06d6bSBaptiste Daroussin.Op Fl s Ar section
34*61d06d6bSBaptiste Daroussin.Ar expression ...
35*61d06d6bSBaptiste Daroussin.Sh DESCRIPTION
36*61d06d6bSBaptiste DaroussinThe
37*61d06d6bSBaptiste Daroussin.Nm apropos
38*61d06d6bSBaptiste Daroussinand
39*61d06d6bSBaptiste Daroussin.Nm whatis
40*61d06d6bSBaptiste Daroussinutilities query manual page databases generated by
41*61d06d6bSBaptiste Daroussin.Xr makewhatis 8 ,
42*61d06d6bSBaptiste Daroussinevaluating
43*61d06d6bSBaptiste Daroussin.Ar expression
44*61d06d6bSBaptiste Daroussinfor each file in each database.
45*61d06d6bSBaptiste DaroussinBy default, they display the names, section numbers, and description lines
46*61d06d6bSBaptiste Daroussinof all matching manuals.
47*61d06d6bSBaptiste Daroussin.Pp
48*61d06d6bSBaptiste DaroussinBy default,
49*61d06d6bSBaptiste Daroussin.Nm
50*61d06d6bSBaptiste Daroussinsearches for
51*61d06d6bSBaptiste Daroussin.Xr makewhatis 8
52*61d06d6bSBaptiste Daroussindatabases in the default paths stipulated by
53*61d06d6bSBaptiste Daroussin.Xr man 1
54*61d06d6bSBaptiste Daroussinand uses case-insensitive substring matching
55*61d06d6bSBaptiste Daroussin.Pq the Cm = No operator
56*61d06d6bSBaptiste Daroussinover manual names and descriptions
57*61d06d6bSBaptiste Daroussin.Pq the Li \&Nm No and Li \&Nd No macro keys .
58*61d06d6bSBaptiste DaroussinMultiple terms imply pairwise
59*61d06d6bSBaptiste Daroussin.Fl o .
60*61d06d6bSBaptiste Daroussin.Pp
61*61d06d6bSBaptiste Daroussin.Nm whatis
62*61d06d6bSBaptiste Daroussinis a synonym for
63*61d06d6bSBaptiste Daroussin.Nm
64*61d06d6bSBaptiste Daroussin.Fl f .
65*61d06d6bSBaptiste Daroussin.Pp
66*61d06d6bSBaptiste DaroussinThe options are as follows:
67*61d06d6bSBaptiste Daroussin.Bl -tag -width Ds
68*61d06d6bSBaptiste Daroussin.It Fl a
69*61d06d6bSBaptiste DaroussinInstead of showing only the title lines, show the complete manual pages,
70*61d06d6bSBaptiste Daroussinjust like
71*61d06d6bSBaptiste Daroussin.Xr man 1
72*61d06d6bSBaptiste Daroussin.Fl a
73*61d06d6bSBaptiste Daroussinwould.
74*61d06d6bSBaptiste DaroussinIf the standard output is a terminal device and
75*61d06d6bSBaptiste Daroussin.Fl c
76*61d06d6bSBaptiste Daroussinis not specified, use
77*61d06d6bSBaptiste Daroussin.Xr more 1
78*61d06d6bSBaptiste Daroussinto paginate them.
79*61d06d6bSBaptiste DaroussinIn
80*61d06d6bSBaptiste Daroussin.Fl a
81*61d06d6bSBaptiste Daroussinmode, the options
82*61d06d6bSBaptiste Daroussin.Fl IKOTW
83*61d06d6bSBaptiste Daroussindescribed in the
84*61d06d6bSBaptiste Daroussin.Xr mandoc 1
85*61d06d6bSBaptiste Daroussinmanual are also available.
86*61d06d6bSBaptiste Daroussin.It Fl C Ar file
87*61d06d6bSBaptiste DaroussinSpecify an alternative configuration
88*61d06d6bSBaptiste Daroussin.Ar file
89*61d06d6bSBaptiste Daroussinin
90*61d06d6bSBaptiste Daroussin.Xr man.conf 5
91*61d06d6bSBaptiste Daroussinformat.
92*61d06d6bSBaptiste Daroussin.It Fl f
93*61d06d6bSBaptiste DaroussinSearch for all words in
94*61d06d6bSBaptiste Daroussin.Ar expression
95*61d06d6bSBaptiste Daroussinin manual page names only.
96*61d06d6bSBaptiste DaroussinThe search is case insensitive and matches whole words only.
97*61d06d6bSBaptiste DaroussinIn this mode, macro keys, comparison operators, and logical operators
98*61d06d6bSBaptiste Daroussinare not available.
99*61d06d6bSBaptiste Daroussin.It Fl k
100*61d06d6bSBaptiste DaroussinSupport the full
101*61d06d6bSBaptiste Daroussin.Ar expression
102*61d06d6bSBaptiste Daroussinsyntax.
103*61d06d6bSBaptiste DaroussinIt is the default for
104*61d06d6bSBaptiste Daroussin.Nm .
105*61d06d6bSBaptiste Daroussin.It Fl M Ar path
106*61d06d6bSBaptiste DaroussinUse the colon-separated path instead of the default list of paths
107*61d06d6bSBaptiste Daroussinsearched for
108*61d06d6bSBaptiste Daroussin.Xr makewhatis 8
109*61d06d6bSBaptiste Daroussindatabases.
110*61d06d6bSBaptiste DaroussinInvalid paths, or paths without manual databases, are ignored.
111*61d06d6bSBaptiste Daroussin.It Fl m Ar path
112*61d06d6bSBaptiste DaroussinPrepend the colon-separated paths to the list of paths searched
113*61d06d6bSBaptiste Daroussinfor
114*61d06d6bSBaptiste Daroussin.Xr makewhatis 8
115*61d06d6bSBaptiste Daroussindatabases.
116*61d06d6bSBaptiste DaroussinInvalid paths, or paths without manual databases, are ignored.
117*61d06d6bSBaptiste Daroussin.It Fl O Ar outkey
118*61d06d6bSBaptiste DaroussinShow the values associated with the key
119*61d06d6bSBaptiste Daroussin.Ar outkey
120*61d06d6bSBaptiste Daroussininstead of the manual descriptions.
121*61d06d6bSBaptiste Daroussin.It Fl S Ar arch
122*61d06d6bSBaptiste DaroussinRestrict the search to pages for the specified
123*61d06d6bSBaptiste Daroussin.Xr machine 1
124*61d06d6bSBaptiste Daroussinarchitecture.
125*61d06d6bSBaptiste Daroussin.Ar arch
126*61d06d6bSBaptiste Daroussinis case insensitive.
127*61d06d6bSBaptiste DaroussinBy default, pages for all architectures are shown.
128*61d06d6bSBaptiste Daroussin.It Fl s Ar section
129*61d06d6bSBaptiste DaroussinRestrict the search to the specified section of the manual.
130*61d06d6bSBaptiste DaroussinBy default, pages from all sections are shown.
131*61d06d6bSBaptiste DaroussinSee
132*61d06d6bSBaptiste Daroussin.Xr man 1
133*61d06d6bSBaptiste Daroussinfor a listing of sections.
134*61d06d6bSBaptiste Daroussin.El
135*61d06d6bSBaptiste Daroussin.Pp
136*61d06d6bSBaptiste DaroussinThe options
137*61d06d6bSBaptiste Daroussin.Fl chlw
138*61d06d6bSBaptiste Daroussinare also supported and are documented in
139*61d06d6bSBaptiste Daroussin.Xr man 1 .
140*61d06d6bSBaptiste DaroussinThe options
141*61d06d6bSBaptiste Daroussin.Fl fkl
142*61d06d6bSBaptiste Daroussinare mutually exclusive and override each other.
143*61d06d6bSBaptiste Daroussin.Pp
144*61d06d6bSBaptiste DaroussinAn
145*61d06d6bSBaptiste Daroussin.Ar expression
146*61d06d6bSBaptiste Daroussinconsists of search terms joined by logical operators
147*61d06d6bSBaptiste Daroussin.Fl a
148*61d06d6bSBaptiste Daroussin.Pq and
149*61d06d6bSBaptiste Daroussinand
150*61d06d6bSBaptiste Daroussin.Fl o
151*61d06d6bSBaptiste Daroussin.Pq or .
152*61d06d6bSBaptiste DaroussinThe
153*61d06d6bSBaptiste Daroussin.Fl a
154*61d06d6bSBaptiste Daroussinoperator has precedence over
155*61d06d6bSBaptiste Daroussin.Fl o
156*61d06d6bSBaptiste Daroussinand both are evaluated left-to-right.
157*61d06d6bSBaptiste Daroussin.Bl -tag -width Ds
158*61d06d6bSBaptiste Daroussin.It \&( Ar expr No \&)
159*61d06d6bSBaptiste DaroussinTrue if the subexpression
160*61d06d6bSBaptiste Daroussin.Ar expr
161*61d06d6bSBaptiste Daroussinis true.
162*61d06d6bSBaptiste Daroussin.It Ar expr1 Fl a Ar expr2
163*61d06d6bSBaptiste DaroussinTrue if both
164*61d06d6bSBaptiste Daroussin.Ar expr1
165*61d06d6bSBaptiste Daroussinand
166*61d06d6bSBaptiste Daroussin.Ar expr2
167*61d06d6bSBaptiste Daroussinare true (logical
168*61d06d6bSBaptiste Daroussin.Sq and ) .
169*61d06d6bSBaptiste Daroussin.It Ar expr1 Oo Fl o Oc Ar expr2
170*61d06d6bSBaptiste DaroussinTrue if
171*61d06d6bSBaptiste Daroussin.Ar expr1
172*61d06d6bSBaptiste Daroussinand/or
173*61d06d6bSBaptiste Daroussin.Ar expr2
174*61d06d6bSBaptiste Daroussinevaluate to true (logical
175*61d06d6bSBaptiste Daroussin.Sq or ) .
176*61d06d6bSBaptiste Daroussin.It Ar term
177*61d06d6bSBaptiste DaroussinTrue if
178*61d06d6bSBaptiste Daroussin.Ar term
179*61d06d6bSBaptiste Daroussinis satisfied.
180*61d06d6bSBaptiste DaroussinThis has syntax
181*61d06d6bSBaptiste Daroussin.Sm off
182*61d06d6bSBaptiste Daroussin.Oo
183*61d06d6bSBaptiste Daroussin.Op Ar key Op , Ar key ...
184*61d06d6bSBaptiste Daroussin.Pq Cm = | \(ti
185*61d06d6bSBaptiste Daroussin.Oc
186*61d06d6bSBaptiste Daroussin.Ar val ,
187*61d06d6bSBaptiste Daroussin.Sm on
188*61d06d6bSBaptiste Daroussinwhere
189*61d06d6bSBaptiste Daroussin.Ar key
190*61d06d6bSBaptiste Daroussinis an
191*61d06d6bSBaptiste Daroussin.Xr mdoc 7
192*61d06d6bSBaptiste Daroussinmacro to query and
193*61d06d6bSBaptiste Daroussin.Ar val
194*61d06d6bSBaptiste Daroussinis its value.
195*61d06d6bSBaptiste DaroussinSee
196*61d06d6bSBaptiste Daroussin.Sx Macro Keys
197*61d06d6bSBaptiste Daroussinfor a list of available keys.
198*61d06d6bSBaptiste DaroussinOperator
199*61d06d6bSBaptiste Daroussin.Cm =
200*61d06d6bSBaptiste Daroussinevaluates a substring, while
201*61d06d6bSBaptiste Daroussin.Cm \(ti
202*61d06d6bSBaptiste Daroussinevaluates a regular expression.
203*61d06d6bSBaptiste Daroussin.It Fl i Ar term
204*61d06d6bSBaptiste DaroussinIf
205*61d06d6bSBaptiste Daroussin.Ar term
206*61d06d6bSBaptiste Daroussinis a regular expression, it
207*61d06d6bSBaptiste Daroussinis evaluated case-insensitively.
208*61d06d6bSBaptiste DaroussinHas no effect on substring terms.
209*61d06d6bSBaptiste Daroussin.El
210*61d06d6bSBaptiste Daroussin.Pp
211*61d06d6bSBaptiste DaroussinResults are sorted according to the following criteria:
212*61d06d6bSBaptiste Daroussin.Bl -enum
213*61d06d6bSBaptiste Daroussin.It
214*61d06d6bSBaptiste DaroussinThe manpath directory tree the page is found in, according to the
215*61d06d6bSBaptiste Daroussinorder specified with
216*61d06d6bSBaptiste Daroussin.Fl M ,
217*61d06d6bSBaptiste Daroussin.Fl m ,
218*61d06d6bSBaptiste Daroussinthe
219*61d06d6bSBaptiste Daroussin.Ev MANPATH
220*61d06d6bSBaptiste Daroussinenvironment variable, the
221*61d06d6bSBaptiste Daroussin.Xr man.conf 5
222*61d06d6bSBaptiste Daroussinconfiguration file, or the default documented in
223*61d06d6bSBaptiste Daroussin.Xr man.conf 5 .
224*61d06d6bSBaptiste Daroussin.It
225*61d06d6bSBaptiste DaroussinThe section number in ascending numerical order.
226*61d06d6bSBaptiste Daroussin.It
227*61d06d6bSBaptiste DaroussinThe page name in ascending
228*61d06d6bSBaptiste Daroussin.Xr ascii 7
229*61d06d6bSBaptiste Daroussinalphabetical order, case-insensitive.
230*61d06d6bSBaptiste Daroussin.El
231*61d06d6bSBaptiste Daroussin.Pp
232*61d06d6bSBaptiste DaroussinEach output line is formatted as
233*61d06d6bSBaptiste Daroussin.Pp
234*61d06d6bSBaptiste Daroussin.D1 name[, name...](sec) \- description
235*61d06d6bSBaptiste Daroussin.Pp
236*61d06d6bSBaptiste DaroussinWhere
237*61d06d6bSBaptiste Daroussin.Dq name
238*61d06d6bSBaptiste Daroussinis the manual's name,
239*61d06d6bSBaptiste Daroussin.Dq sec
240*61d06d6bSBaptiste Daroussinis the manual section, and
241*61d06d6bSBaptiste Daroussin.Dq description
242*61d06d6bSBaptiste Daroussinis the manual's short description.
243*61d06d6bSBaptiste DaroussinIf an architecture is specified for the manual, it is displayed as
244*61d06d6bSBaptiste Daroussin.Pp
245*61d06d6bSBaptiste Daroussin.D1 name(sec/arch) \- description
246*61d06d6bSBaptiste Daroussin.Pp
247*61d06d6bSBaptiste DaroussinResulting manuals may be accessed as
248*61d06d6bSBaptiste Daroussin.Pp
249*61d06d6bSBaptiste Daroussin.Dl $ man \-s sec name
250*61d06d6bSBaptiste Daroussin.Pp
251*61d06d6bSBaptiste DaroussinIf an architecture is specified in the output, use
252*61d06d6bSBaptiste Daroussin.Pp
253*61d06d6bSBaptiste Daroussin.Dl $ man \-s sec \-S arch name
254*61d06d6bSBaptiste Daroussin.Ss Macro Keys
255*61d06d6bSBaptiste DaroussinQueries evaluate over a subset of
256*61d06d6bSBaptiste Daroussin.Xr mdoc 7
257*61d06d6bSBaptiste Daroussinmacros indexed by
258*61d06d6bSBaptiste Daroussin.Xr makewhatis 8 .
259*61d06d6bSBaptiste DaroussinIn addition to the macro keys listed below, the special key
260*61d06d6bSBaptiste Daroussin.Cm any
261*61d06d6bSBaptiste Daroussinmay be used to match any available macro key.
262*61d06d6bSBaptiste Daroussin.Pp
263*61d06d6bSBaptiste DaroussinNames and description:
264*61d06d6bSBaptiste Daroussin.Bl -column "xLix" description -offset indent -compact
265*61d06d6bSBaptiste Daroussin.It Li \&Nm Ta manual name
266*61d06d6bSBaptiste Daroussin.It Li \&Nd Ta one-line manual description
267*61d06d6bSBaptiste Daroussin.It Li arch Ta machine architecture (case-insensitive)
268*61d06d6bSBaptiste Daroussin.It Li sec  Ta manual section number
269*61d06d6bSBaptiste Daroussin.El
270*61d06d6bSBaptiste Daroussin.Pp
271*61d06d6bSBaptiste DaroussinSections and cross references:
272*61d06d6bSBaptiste Daroussin.Bl -column "xLix" description -offset indent -compact
273*61d06d6bSBaptiste Daroussin.It Li \&Sh Ta section header (excluding standard sections)
274*61d06d6bSBaptiste Daroussin.It Li \&Ss Ta subsection header
275*61d06d6bSBaptiste Daroussin.It Li \&Xr Ta cross reference to another manual page
276*61d06d6bSBaptiste Daroussin.It Li \&Rs Ta bibliographic reference
277*61d06d6bSBaptiste Daroussin.El
278*61d06d6bSBaptiste Daroussin.Pp
279*61d06d6bSBaptiste DaroussinSemantic markup for command line utilities:
280*61d06d6bSBaptiste Daroussin.Bl -column "xLix" description -offset indent -compact
281*61d06d6bSBaptiste Daroussin.It Li \&Fl Ta command line options (flags)
282*61d06d6bSBaptiste Daroussin.It Li \&Cm Ta command modifier
283*61d06d6bSBaptiste Daroussin.It Li \&Ar Ta command argument
284*61d06d6bSBaptiste Daroussin.It Li \&Ic Ta internal or interactive command
285*61d06d6bSBaptiste Daroussin.It Li \&Ev Ta environmental variable
286*61d06d6bSBaptiste Daroussin.It Li \&Pa Ta file system path
287*61d06d6bSBaptiste Daroussin.El
288*61d06d6bSBaptiste Daroussin.Pp
289*61d06d6bSBaptiste DaroussinSemantic markup for function libraries:
290*61d06d6bSBaptiste Daroussin.Bl -column "xLix" description -offset indent -compact
291*61d06d6bSBaptiste Daroussin.It Li \&Lb Ta function library name
292*61d06d6bSBaptiste Daroussin.It Li \&In Ta include file
293*61d06d6bSBaptiste Daroussin.It Li \&Ft Ta function return type
294*61d06d6bSBaptiste Daroussin.It Li \&Fn Ta function name
295*61d06d6bSBaptiste Daroussin.It Li \&Fa Ta function argument type and name
296*61d06d6bSBaptiste Daroussin.It Li \&Vt Ta variable type
297*61d06d6bSBaptiste Daroussin.It Li \&Va Ta variable name
298*61d06d6bSBaptiste Daroussin.It Li \&Dv Ta defined variable or preprocessor constant
299*61d06d6bSBaptiste Daroussin.It Li \&Er Ta error constant
300*61d06d6bSBaptiste Daroussin.It Li \&Ev Ta environmental variable
301*61d06d6bSBaptiste Daroussin.El
302*61d06d6bSBaptiste Daroussin.Pp
303*61d06d6bSBaptiste DaroussinVarious semantic markup:
304*61d06d6bSBaptiste Daroussin.Bl -column "xLix" description -offset indent -compact
305*61d06d6bSBaptiste Daroussin.It Li \&An Ta author name
306*61d06d6bSBaptiste Daroussin.It Li \&Lk Ta hyperlink
307*61d06d6bSBaptiste Daroussin.It Li \&Mt Ta Do mailto Dc hyperlink
308*61d06d6bSBaptiste Daroussin.It Li \&Cd Ta kernel configuration declaration
309*61d06d6bSBaptiste Daroussin.It Li \&Ms Ta mathematical symbol
310*61d06d6bSBaptiste Daroussin.It Li \&Tn Ta tradename
311*61d06d6bSBaptiste Daroussin.El
312*61d06d6bSBaptiste Daroussin.Pp
313*61d06d6bSBaptiste DaroussinPhysical markup:
314*61d06d6bSBaptiste Daroussin.Bl -column "xLix" description -offset indent -compact
315*61d06d6bSBaptiste Daroussin.It Li \&Em Ta italic font or underline
316*61d06d6bSBaptiste Daroussin.It Li \&Sy Ta boldface font
317*61d06d6bSBaptiste Daroussin.It Li \&Li Ta typewriter font
318*61d06d6bSBaptiste Daroussin.El
319*61d06d6bSBaptiste Daroussin.Pp
320*61d06d6bSBaptiste DaroussinText production:
321*61d06d6bSBaptiste Daroussin.Bl -column "xLix" description -offset indent -compact
322*61d06d6bSBaptiste Daroussin.It Li \&St Ta reference to a standards document
323*61d06d6bSBaptiste Daroussin.It Li \&At Ta At No version reference
324*61d06d6bSBaptiste Daroussin.It Li \&Bx Ta Bx No version reference
325*61d06d6bSBaptiste Daroussin.It Li \&Bsx Ta Bsx No version reference
326*61d06d6bSBaptiste Daroussin.It Li \&Nx Ta Nx No version reference
327*61d06d6bSBaptiste Daroussin.It Li \&Fx Ta Fx No version reference
328*61d06d6bSBaptiste Daroussin.It Li \&Ox Ta Ox No version reference
329*61d06d6bSBaptiste Daroussin.It Li \&Dx Ta Dx No version reference
330*61d06d6bSBaptiste Daroussin.El
331*61d06d6bSBaptiste Daroussin.Pp
332*61d06d6bSBaptiste DaroussinIn general, macro keys are supposed to yield complete results without
333*61d06d6bSBaptiste Daroussinexpecting the user to consider actual macro usage.
334*61d06d6bSBaptiste DaroussinFor example, results include:
335*61d06d6bSBaptiste Daroussin.Pp
336*61d06d6bSBaptiste Daroussin.Bl -tag -width 3n -offset 3n -compact
337*61d06d6bSBaptiste Daroussin.It Li \&Fa
338*61d06d6bSBaptiste Daroussinfunction arguments appearing on
339*61d06d6bSBaptiste Daroussin.Ic \&Fn
340*61d06d6bSBaptiste Daroussinlines
341*61d06d6bSBaptiste Daroussin.It Li \&Fn
342*61d06d6bSBaptiste Daroussinfuction names marked up with
343*61d06d6bSBaptiste Daroussin.Ic \&Fo
344*61d06d6bSBaptiste Daroussinmacros
345*61d06d6bSBaptiste Daroussin.It Li \&In
346*61d06d6bSBaptiste Daroussininclude file names marked up with
347*61d06d6bSBaptiste Daroussin.Ic \&Fd
348*61d06d6bSBaptiste Daroussinmacros
349*61d06d6bSBaptiste Daroussin.It Li \&Vt
350*61d06d6bSBaptiste Daroussintypes appearing as function return types and
351*61d06d6bSBaptiste Daroussin.It \&
352*61d06d6bSBaptiste Daroussintypes appearing in function arguments in the SYNOPSIS
353*61d06d6bSBaptiste Daroussin.El
354*61d06d6bSBaptiste Daroussin.Sh ENVIRONMENT
355*61d06d6bSBaptiste Daroussin.Bl -tag -width MANPAGER
356*61d06d6bSBaptiste Daroussin.It Ev MANPAGER
357*61d06d6bSBaptiste DaroussinAny non-empty value of the environment variable
358*61d06d6bSBaptiste Daroussin.Ev MANPAGER
359*61d06d6bSBaptiste Daroussinis used instead of the standard pagination program,
360*61d06d6bSBaptiste Daroussin.Xr more 1 ;
361*61d06d6bSBaptiste Daroussinsee
362*61d06d6bSBaptiste Daroussin.Xr man 1
363*61d06d6bSBaptiste Daroussinfor details.
364*61d06d6bSBaptiste DaroussinOnly used if
365*61d06d6bSBaptiste Daroussin.Fl a
366*61d06d6bSBaptiste Daroussinor
367*61d06d6bSBaptiste Daroussin.Fl l
368*61d06d6bSBaptiste Daroussinis specified.
369*61d06d6bSBaptiste Daroussin.It Ev MANPATH
370*61d06d6bSBaptiste DaroussinA colon-separated list of directories to search for manual pages; see
371*61d06d6bSBaptiste Daroussin.Xr man 1
372*61d06d6bSBaptiste Daroussinfor details.
373*61d06d6bSBaptiste DaroussinOverridden by
374*61d06d6bSBaptiste Daroussin.Fl M ,
375*61d06d6bSBaptiste Daroussinignored if
376*61d06d6bSBaptiste Daroussin.Fl l
377*61d06d6bSBaptiste Daroussinis specified.
378*61d06d6bSBaptiste Daroussin.It Ev PAGER
379*61d06d6bSBaptiste DaroussinSpecifies the pagination program to use when
380*61d06d6bSBaptiste Daroussin.Ev MANPAGER
381*61d06d6bSBaptiste Daroussinis not defined.
382*61d06d6bSBaptiste DaroussinIf neither PAGER nor MANPAGER is defined,
383*61d06d6bSBaptiste Daroussin.Xr more 1
384*61d06d6bSBaptiste Daroussin.Fl s
385*61d06d6bSBaptiste Daroussinis used.
386*61d06d6bSBaptiste DaroussinOnly used if
387*61d06d6bSBaptiste Daroussin.Fl a
388*61d06d6bSBaptiste Daroussinor
389*61d06d6bSBaptiste Daroussin.Fl l
390*61d06d6bSBaptiste Daroussinis specified.
391*61d06d6bSBaptiste Daroussin.El
392*61d06d6bSBaptiste Daroussin.Sh FILES
393*61d06d6bSBaptiste Daroussin.Bl -tag -width "/etc/man.conf" -compact
394*61d06d6bSBaptiste Daroussin.It Pa mandoc.db
395*61d06d6bSBaptiste Daroussinname of the
396*61d06d6bSBaptiste Daroussin.Xr makewhatis 8
397*61d06d6bSBaptiste Daroussinkeyword database
398*61d06d6bSBaptiste Daroussin.It Pa /etc/man.conf
399*61d06d6bSBaptiste Daroussindefault
400*61d06d6bSBaptiste Daroussin.Xr man 1
401*61d06d6bSBaptiste Daroussinconfiguration file
402*61d06d6bSBaptiste Daroussin.El
403*61d06d6bSBaptiste Daroussin.Sh EXIT STATUS
404*61d06d6bSBaptiste Daroussin.Ex -std
405*61d06d6bSBaptiste Daroussin.Sh EXAMPLES
406*61d06d6bSBaptiste DaroussinSearch for
407*61d06d6bSBaptiste Daroussin.Qq .cf
408*61d06d6bSBaptiste Daroussinas a substring of manual names and descriptions:
409*61d06d6bSBaptiste Daroussin.Pp
410*61d06d6bSBaptiste Daroussin.Dl $ apropos .cf
411*61d06d6bSBaptiste Daroussin.Pp
412*61d06d6bSBaptiste DaroussinInclude matches for
413*61d06d6bSBaptiste Daroussin.Qq .cnf
414*61d06d6bSBaptiste Daroussinand
415*61d06d6bSBaptiste Daroussin.Qq .conf
416*61d06d6bSBaptiste Daroussinas well:
417*61d06d6bSBaptiste Daroussin.Pp
418*61d06d6bSBaptiste Daroussin.Dl $ apropos .cf .cnf .conf
419*61d06d6bSBaptiste Daroussin.Pp
420*61d06d6bSBaptiste DaroussinSearch in names and descriptions using a regular expression:
421*61d06d6bSBaptiste Daroussin.Pp
422*61d06d6bSBaptiste Daroussin.Dl $ apropos \(aq\(tiset.?[ug]id\(aq
423*61d06d6bSBaptiste Daroussin.Pp
424*61d06d6bSBaptiste DaroussinSearch for manuals in the library section mentioning both the
425*61d06d6bSBaptiste Daroussin.Qq optind
426*61d06d6bSBaptiste Daroussinand the
427*61d06d6bSBaptiste Daroussin.Qq optarg
428*61d06d6bSBaptiste Daroussinvariables:
429*61d06d6bSBaptiste Daroussin.Pp
430*61d06d6bSBaptiste Daroussin.Dl $ apropos \-s 3 Va=optind \-a Va=optarg
431*61d06d6bSBaptiste Daroussin.Pp
432*61d06d6bSBaptiste DaroussinDo exactly the same as calling
433*61d06d6bSBaptiste Daroussin.Nm whatis
434*61d06d6bSBaptiste Daroussinwith the argument
435*61d06d6bSBaptiste Daroussin.Qq ssh :
436*61d06d6bSBaptiste Daroussin.Pp
437*61d06d6bSBaptiste Daroussin.Dl $ apropos \-\- \-i \(aqNm\(ti[[:<:]]ssh[[:>:]]\(aq
438*61d06d6bSBaptiste Daroussin.Pp
439*61d06d6bSBaptiste DaroussinThe following two invocations are equivalent:
440*61d06d6bSBaptiste Daroussin.Pp
441*61d06d6bSBaptiste Daroussin.D1 Li $ apropos -S Ar arch Li -s Ar section expression
442*61d06d6bSBaptiste Daroussin.Bd -ragged -offset indent
443*61d06d6bSBaptiste Daroussin.Li $ apropos \e( Ar expression Li \e)
444*61d06d6bSBaptiste Daroussin.Li -a arch\(ti^( Ns Ar arch Ns Li |any)$
445*61d06d6bSBaptiste Daroussin.Li -a sec\(ti^ Ns Ar section Ns Li $
446*61d06d6bSBaptiste Daroussin.Ed
447*61d06d6bSBaptiste Daroussin.Sh SEE ALSO
448*61d06d6bSBaptiste Daroussin.Xr man 1 ,
449*61d06d6bSBaptiste Daroussin.Xr re_format 7 ,
450*61d06d6bSBaptiste Daroussin.Xr makewhatis 8
451*61d06d6bSBaptiste Daroussin.Sh HISTORY
452*61d06d6bSBaptiste DaroussinPart of the functionality of
453*61d06d6bSBaptiste Daroussin.Nm whatis
454*61d06d6bSBaptiste Daroussinwas already provided by the former
455*61d06d6bSBaptiste Daroussin.Nm manwhere
456*61d06d6bSBaptiste Daroussinutility in
457*61d06d6bSBaptiste Daroussin.Bx 1 .
458*61d06d6bSBaptiste DaroussinThe
459*61d06d6bSBaptiste Daroussin.Nm
460*61d06d6bSBaptiste Daroussinand
461*61d06d6bSBaptiste Daroussin.Nm whatis
462*61d06d6bSBaptiste Daroussinutilities first appeared in
463*61d06d6bSBaptiste Daroussin.Bx 2 .
464*61d06d6bSBaptiste DaroussinThey were rewritten from scratch for
465*61d06d6bSBaptiste Daroussin.Ox 5.6 .
466*61d06d6bSBaptiste Daroussin.Pp
467*61d06d6bSBaptiste DaroussinThe
468*61d06d6bSBaptiste Daroussin.Fl M
469*61d06d6bSBaptiste Daroussinoption and the
470*61d06d6bSBaptiste Daroussin.Ev MANPATH
471*61d06d6bSBaptiste Daroussinvariable first appeared in
472*61d06d6bSBaptiste Daroussin.Bx 4.3 ;
473*61d06d6bSBaptiste Daroussin.Fl m
474*61d06d6bSBaptiste Daroussinin
475*61d06d6bSBaptiste Daroussin.Bx 4.3 Reno ;
476*61d06d6bSBaptiste Daroussin.Fl C
477*61d06d6bSBaptiste Daroussinin
478*61d06d6bSBaptiste Daroussin.Bx 4.4 Lite1 ;
479*61d06d6bSBaptiste Daroussinand
480*61d06d6bSBaptiste Daroussin.Fl S
481*61d06d6bSBaptiste Daroussinand
482*61d06d6bSBaptiste Daroussin.Fl s
483*61d06d6bSBaptiste Daroussinin
484*61d06d6bSBaptiste Daroussin.Ox 4.5
485*61d06d6bSBaptiste Daroussinfor
486*61d06d6bSBaptiste Daroussin.Nm
487*61d06d6bSBaptiste Daroussinand in
488*61d06d6bSBaptiste Daroussin.Ox 5.6
489*61d06d6bSBaptiste Daroussinfor
490*61d06d6bSBaptiste Daroussin.Nm whatis .
491*61d06d6bSBaptiste DaroussinThe options
492*61d06d6bSBaptiste Daroussin.Fl acfhIKklOTWw
493*61d06d6bSBaptiste Daroussinappeared in
494*61d06d6bSBaptiste Daroussin.Ox 5.7 .
495*61d06d6bSBaptiste Daroussin.Sh AUTHORS
496*61d06d6bSBaptiste Daroussin.An -nosplit
497*61d06d6bSBaptiste Daroussin.An Bill Joy
498*61d06d6bSBaptiste Daroussinwrote
499*61d06d6bSBaptiste Daroussin.Nm manwhere
500*61d06d6bSBaptiste Daroussinin 1977 and the original
501*61d06d6bSBaptiste Daroussin.Bx
502*61d06d6bSBaptiste Daroussin.Nm
503*61d06d6bSBaptiste Daroussinand
504*61d06d6bSBaptiste Daroussin.Nm whatis
505*61d06d6bSBaptiste Daroussinin February 1979.
506*61d06d6bSBaptiste DaroussinThe current version was written by
507*61d06d6bSBaptiste Daroussin.An Kristaps Dzonsons Aq Mt kristaps@bsd.lv
508*61d06d6bSBaptiste Daroussinand
509*61d06d6bSBaptiste Daroussin.An Ingo Schwarze Aq Mt schwarze@openbsd.org .
510