1 .\" $Id: apropos.1,v 1.40 2017/01/31 19:44:04 schwarze Exp $
3 .\" Copyright (c) 2011, 2012 Kristaps Dzonsons <kristaps@bsd.lv>
4 .\" Copyright (c) 2011, 2012, 2014 Ingo Schwarze <schwarze@openbsd.org>
6 .\" Permission to use, copy, modify, and distribute this software for any
7 .\" purpose with or without fee is hereby granted, provided that the above
8 .\" copyright notice and this permission notice appear in all copies.
10 .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11 .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12 .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13 .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14 .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
18 .Dd $Mdocdate: January 31 2017 $
24 .Nd search manual page databases
40 utilities query manual page databases generated by
44 for each file in each database.
45 By default, they display the names, section numbers, and description lines
46 of all matching manuals.
52 databases in the default paths stipulated by
54 and uses case-insensitive substring matching
55 .Pq the Cm = No operator
56 over manual names and descriptions
57 .Pq the Li \&Nm No and Li \&Nd No macro keys .
58 Multiple terms imply pairwise
66 The options are as follows:
69 Instead of showing only the title lines, show the complete manual pages,
74 If the standard output is a terminal device and
85 manual are also available.
87 Specify an alternative configuration
95 mode, copy the formatted manual pages to the standard output without using
99 Search for all words in
101 in manual page names only.
102 The search is case insensitive and matches whole words only.
103 In this mode, macro keys, comparison operators, and logical operators
105 This overrides any earlier
111 Instead of showing the title lines, show the SYNOPSIS sections, just like
119 This overrides any earlier
124 It is the default for
130 This overrides any earlier
137 Use the colon-separated path instead of the default list of paths
141 Invalid paths, or paths without manual databases, are ignored.
143 Prepend the colon-separated paths to the list of paths searched
147 Invalid paths, or paths without manual databases, are ignored.
149 Show the values associated with the key
151 instead of the manual descriptions.
153 Restrict the search to pages for the specified
158 By default, pages for all architectures are shown.
160 Restrict the search to the specified section of the manual.
161 By default, pages from all sections are shown.
164 for a listing of sections.
166 Instead of showing title lines, show the pathnames of the matching
167 manual pages, just like
175 consists of search terms joined by logical operators
183 operator has precedence over
185 and both are evaluated left-to-right.
187 .It \&( Ar expr No \&)
188 True if the subexpression
191 .It Ar expr1 Fl a Ar expr2
198 .It Ar expr1 Oo Fl o Oc Ar expr2
203 evaluate to true (logical
212 .Op Ar key Op , Ar key ...
226 for a list of available keys.
229 evaluates a substring, while
231 evaluates a regular expression.
235 is a regular expression, it
236 is evaluated case-insensitively.
237 Has no effect on substring terms.
240 Results are sorted by manual sections and names, with output formatted as
242 .D1 name[, name...](sec) \- description
246 is the manual's name,
248 is the manual section, and
250 is the manual's short description.
251 If an architecture is specified for the manual, it is displayed as
253 .D1 name(sec/arch) \- description
255 Resulting manuals may be accessed as
257 .Dl $ man \-s sec name
259 If an architecture is specified in the output, use
261 .Dl $ man \-s sec \-S arch name
263 Queries evaluate over a subset of
267 In addition to the macro keys listed below, the special key
269 may be used to match any available macro key.
271 Names and description:
272 .Bl -column "xLix" description -offset indent -compact
273 .It Li \&Nm Ta manual name
274 .It Li \&Nd Ta one-line manual description
275 .It Li arch Ta machine architecture (case-insensitive)
276 .It Li sec Ta manual section number
279 Sections and cross references:
280 .Bl -column "xLix" description -offset indent -compact
281 .It Li \&Sh Ta section header (excluding standard sections)
282 .It Li \&Ss Ta subsection header
283 .It Li \&Xr Ta cross reference to another manual page
284 .It Li \&Rs Ta bibliographic reference
287 Semantic markup for command line utilities:
288 .Bl -column "xLix" description -offset indent -compact
289 .It Li \&Fl Ta command line options (flags)
290 .It Li \&Cm Ta command modifier
291 .It Li \&Ar Ta command argument
292 .It Li \&Ic Ta internal or interactive command
293 .It Li \&Ev Ta environmental variable
294 .It Li \&Pa Ta file system path
297 Semantic markup for function libraries:
298 .Bl -column "xLix" description -offset indent -compact
299 .It Li \&Lb Ta function library name
300 .It Li \&In Ta include file
301 .It Li \&Ft Ta function return type
302 .It Li \&Fn Ta function name
303 .It Li \&Fa Ta function argument type and name
304 .It Li \&Vt Ta variable type
305 .It Li \&Va Ta variable name
306 .It Li \&Dv Ta defined variable or preprocessor constant
307 .It Li \&Er Ta error constant
308 .It Li \&Ev Ta environmental variable
311 Various semantic markup:
312 .Bl -column "xLix" description -offset indent -compact
313 .It Li \&An Ta author name
314 .It Li \&Lk Ta hyperlink
315 .It Li \&Mt Ta Do mailto Dc hyperlink
316 .It Li \&Cd Ta kernel configuration declaration
317 .It Li \&Ms Ta mathematical symbol
318 .It Li \&Tn Ta tradename
322 .Bl -column "xLix" description -offset indent -compact
323 .It Li \&Em Ta italic font or underline
324 .It Li \&Sy Ta boldface font
325 .It Li \&Li Ta typewriter font
329 .Bl -column "xLix" description -offset indent -compact
330 .It Li \&St Ta reference to a standards document
331 .It Li \&At Ta At No version reference
332 .It Li \&Bx Ta Bx No version reference
333 .It Li \&Bsx Ta Bsx No version reference
334 .It Li \&Nx Ta Nx No version reference
335 .It Li \&Fx Ta Fx No version reference
336 .It Li \&Ox Ta Ox No version reference
337 .It Li \&Dx Ta Dx No version reference
340 .Bl -tag -width MANPAGER
342 Any non-empty value of the environment variable
344 will be used instead of the standard pagination program,
347 The standard search path used by
349 may be changed by specifying a path in the
351 environment variable.
352 Invalid paths, or paths without manual databases, are ignored.
357 begins with a colon, it is appended to the default list;
358 if it ends with a colon, it is prepended to the default list;
359 or if it contains two adjacent colons,
360 the standard search path is inserted between the colons.
361 If none of these conditions are met, it overrides the
362 standard search path.
364 Specifies the pagination program to use when
367 If neither PAGER nor MANPAGER is defined,
373 .Bl -tag -width "/etc/man.conf" -compact
388 as a substring of manual names and descriptions:
398 .Dl $ apropos .cf .cnf .conf
400 Search in names and descriptions using a regular expression:
402 .Dl $ apropos \(aq\(tiset.?[ug]id\(aq
404 Search for manuals in the library section mentioning both the
410 .Dl $ apropos \-s 3 Va=optind \-a Va=optarg
412 Do exactly the same as calling
417 .Dl $ apropos \-\- \-i \(aqNm\(ti[[:<:]]ssh[[:>:]]\(aq
419 The following two invocations are equivalent:
421 .D1 Li $ apropos -S Ar arch Li -s Ar section expression
422 .Bd -ragged -offset indent
423 .Li $ apropos \e( Ar expression Li \e)
424 .Li -a arch\(ti^( Ns Ar arch Ns Li |any)$
425 .Li -a sec\(ti^ Ns Ar section Ns Li $
432 Part of the functionality of
434 was already provided by the former
442 utilities first appeared in
444 They were rewritten from scratch for
451 variable first appeared in
480 in 1977 and the original
486 The current version was written by
487 .An Kristaps Dzonsons Aq Mt kristaps@bsd.lv
489 .An Ingo Schwarze Aq Mt schwarze@openbsd.org .