version 1.19, 2012/06/09 14:11:15 |
version 1.27, 2014/04/18 09:47:09 |
|
|
.\" $Id$ |
.\" $Id$ |
.\" |
.\" |
.\" Copyright (c) 2011, 2012 Kristaps Dzonsons <kristaps@bsd.lv> |
.\" Copyright (c) 2011, 2012 Kristaps Dzonsons <kristaps@bsd.lv> |
|
.\" Copyright (c) 2011, 2012, 2014 Ingo Schwarze <schwarze@openbsd.org> |
.\" |
.\" |
.\" Permission to use, copy, modify, and distribute this software for any |
.\" Permission to use, copy, modify, and distribute this software for any |
.\" purpose with or without fee is hereby granted, provided that the above |
.\" purpose with or without fee is hereby granted, provided that the above |
|
|
.Sh SYNOPSIS |
.Sh SYNOPSIS |
.Nm |
.Nm |
.Op Fl C Ar file |
.Op Fl C Ar file |
.Op Fl M Ar manpath |
.Op Fl M Ar path |
.Op Fl m Ar manpath |
.Op Fl m Ar path |
|
.Op Fl O Ar outkey |
.Op Fl S Ar arch |
.Op Fl S Ar arch |
.Op Fl s Ar section |
.Op Fl s Ar section |
.Ar expression ... |
.Ar expression ... |
|
|
.Nm whatis |
.Nm whatis |
utilities query manual page databases generated by |
utilities query manual page databases generated by |
.Xr mandocdb 8 , |
.Xr mandocdb 8 , |
evaluating on |
evaluating |
.Ar expression |
.Ar expression |
for each file in each database. |
for each file in each database. |
|
By default, it displays the names, section numbers, and description lines |
|
of all matching manuals. |
.Pp |
.Pp |
By default, |
By default, |
.Nm |
.Nm |
|
|
.Xr mandocdb 8 |
.Xr mandocdb 8 |
databases in the default paths stipulated by |
databases in the default paths stipulated by |
.Xr man 1 |
.Xr man 1 |
and |
and uses case-insensitive substring matching |
maps terms to case-sensitive manual names and descriptions. |
.Pq the Cm = No operator |
Multiple terms are OR'd. |
over manual names and descriptions |
|
.Pq the Li \&Nm No and Li \&Nd No macro keys . |
|
Multiple terms imply pairwise |
|
.Fl o . |
.Nm whatis |
.Nm whatis |
maps terms only to case-sensitive manual names. |
maps terms only to case-sensitive manual names. |
.Pp |
.Pp |
Line 60 Specify an alternative configuration |
|
Line 67 Specify an alternative configuration |
|
in |
in |
.Xr man.conf 5 |
.Xr man.conf 5 |
format. |
format. |
.It Fl M Ar manpath |
.It Fl M Ar path |
Use the colon-separated path instead of the default list of paths |
Use the colon-separated path instead of the default list of paths |
searched for |
searched for |
.Xr mandocdb 8 |
.Xr mandocdb 8 |
databases. |
databases. |
Invalid paths, or paths without manual databases, are ignored. |
Invalid paths, or paths without manual databases, are ignored. |
.It Fl m Ar manpath |
.It Fl m Ar path |
Prepend the colon-separated paths to the list of paths searched |
Prepend the colon-separated paths to the list of paths searched |
for |
for |
.Xr mandocdb 8 |
.Xr mandocdb 8 |
databases. |
databases. |
Invalid paths, or paths without manual databases, are ignored. |
Invalid paths, or paths without manual databases, are ignored. |
|
.It Fl O Ar outkey |
|
Show the values associated with the key |
|
.Ar outkey |
|
instead of the manual descriptions. |
.It Fl S Ar arch |
.It Fl S Ar arch |
Search only for a particular architecture. |
Restrict the search to pages for the specified |
.It Fl s Ar cat |
.Xr machine 1 |
Search only for a manual section. |
architecture. |
|
.Ar arch |
|
is case insensitive. |
|
By default, pages for all architectures are shown. |
|
.It Fl s Ar section |
|
Restrict the search to the specified section of the manual. |
|
By default, pages from all sections are shown. |
See |
See |
.Xr man 1 |
.Xr man 1 |
for a listing of manual sections. |
for a listing of sections. |
.El |
.El |
.Pp |
.Pp |
.Nm whatis |
An |
considers an |
|
.Ar expression |
.Ar expression |
to consist of an opaque keyword. |
consists of search terms joined by logical operators |
.Nm apropos |
.Fl a |
parses a |
.Pq and |
.Ar expression |
and |
into type and keyword pairs. |
.Fl o |
This pair syntax |
.Pq or . |
.Li [key[,key]*(=~)]?val , |
The |
where operand |
.Fl a |
.Cm key |
operator has precedence over |
|
.Fl o |
|
and both are evaluated left-to-right. |
|
.Bl -tag -width Ds |
|
.It \&( Ar expr No \&) |
|
True if the subexpression |
|
.Ar expr |
|
is true. |
|
.It Ar expr1 Fl a Ar expr2 |
|
True if both |
|
.Ar expr1 |
|
and |
|
.Ar expr2 |
|
are true (logical |
|
.Sq and ) . |
|
.It Ar expr1 Oo Fl o Oc Ar expr2 |
|
True if |
|
.Ar expr1 |
|
and/or |
|
.Ar expr2 |
|
evaluate to true (logical |
|
.Sq or ) . |
|
.It Ar term |
|
True if |
|
.Ar term |
|
is satisfied. |
|
This has syntax |
|
.Sm off |
|
.Oo |
|
.Op Ar key Op , Ar key ... |
|
.Pq Cm = | ~ |
|
.Oc |
|
.Ar val |
|
.Sm on , |
|
where |
|
.Ar key |
is an |
is an |
.Xr mdoc 7 |
.Xr mdoc 7 |
macro to query and |
macro to query and |
.Cm val |
.Ar val |
is its value. |
is its value. |
See |
See |
.Sx Macro Keys |
.Sx Macro Keys |
for a list of available keys. |
for a list of available keys. |
Operator |
Operator |
.Li \&= |
.Cm = |
evaluates a full string, while |
evaluates a substring, while |
.Li \&~ |
.Cm ~ |
evaluates a |
evaluates a regular expression. |
.Xr glob 7 |
.It Fl i Ar term |
pattern. |
If |
|
.Ar term |
|
is a regular expression, it |
|
is evaluated case-insensitively. |
|
Has no effect on substring terms. |
|
.El |
.Pp |
.Pp |
Results are sorted by manual title, with output formatted as |
.Nm whatis |
.Qq title(sec) \- description |
considers an |
where |
.Ar expression |
.Qq title |
to consist of an opaque keyword. |
is the manual's title (note multiple manual names may exist for one |
.Pp |
title), |
Results are sorted by manual sections and names, with output formatted as |
.Qq sec |
.Pp |
|
.D1 name[, name...](sec) \- description |
|
.Pp |
|
Where |
|
.Dq name |
|
is the manual's name, |
|
.Dq sec |
is the manual section, and |
is the manual section, and |
.Qq description |
.Dq description |
is the manual's short description. |
is the manual's short description. |
If an architecture is specified for the manual, it is displayed as |
If an architecture is specified for the manual, it is displayed as |
.Qq title(cat/arch) \- description . |
.Pp |
|
.D1 name(sec/arch) \- description |
|
.Pp |
|
Resulting manuals may be accessed as |
|
.Pp |
|
.Dl $ man \-s sec name |
|
.Pp |
|
If an architecture is specified in the output, use |
|
.Pp |
|
.Dl $ man \-s sec \-S arch name |
.Ss Macro Keys |
.Ss Macro Keys |
.Nm apropos |
Queries evaluate over a subset of |
queries evaluate over a subset of |
|
.Xr mdoc 7 |
.Xr mdoc 7 |
macros indexed by |
macros indexed by |
.Xr mandocdb 8 . |
.Xr mandocdb 8 . |
Line 135 Names and description: |
|
Line 205 Names and description: |
|
.Bl -column "xLix" description -offset indent -compact |
.Bl -column "xLix" description -offset indent -compact |
.It Li \&Nm Ta manual name |
.It Li \&Nm Ta manual name |
.It Li \&Nd Ta one-line manual description |
.It Li \&Nd Ta one-line manual description |
|
.It Li arch Ta machine architecture (case-insensitive) |
|
.It Li sec Ta manual section number |
.El |
.El |
.Pp |
.Pp |
Sections and cross references: |
Sections and cross references: |
Line 198 Text production: |
|
Line 270 Text production: |
|
.It Li \&Dx Ta Dx No version reference |
.It Li \&Dx Ta Dx No version reference |
.El |
.El |
.Sh ENVIRONMENT |
.Sh ENVIRONMENT |
.Bl -tag -width Ds |
.Bl -tag -width MANPATH |
.It Ev MANPATH |
.It Ev MANPATH |
Colon-separated paths modifying the default list of paths searched for |
The standard search path used by |
manual databases. |
.Xr man 1 |
|
may be changed by specifying a path in the |
|
.Ev MANPATH |
|
environment variable. |
Invalid paths, or paths without manual databases, are ignored. |
Invalid paths, or paths without manual databases, are ignored. |
Overridden by |
Overridden by |
.Fl M . |
.Fl M . |
If |
If |
.Ev MANPATH |
.Ev MANPATH |
begins with a |
begins with a colon, it is appended to the default list; |
.Sq \&: , |
if it ends with a colon, it is prepended to the default list; |
it is appended to the default list; |
or if it contains two adjacent colons, |
else if it ends with |
the standard search path is inserted between the colons. |
.Sq \&: , |
If none of these conditions are met, it overrides the |
it is prepended to the default list; else if it contains |
standard search path. |
.Sq \&:: , |
|
the default list is inserted between the colons. |
|
If none of these conditions are met, it overrides the default list. |
|
.El |
.El |
.Sh FILES |
.Sh FILES |
.Bl -tag -width "/etc/man.conf" -compact |
.Bl -tag -width "/etc/man.conf" -compact |
.It Pa mandocdb.db |
.It Pa mandoc.db |
name of the |
name of the |
.Xr mandocdb 8 |
.Xr mandocdb 8 |
keyword database |
keyword database |
Line 232 configuration file |
|
Line 304 configuration file |
|
.Ex -std |
.Ex -std |
.Sh EXAMPLES |
.Sh EXAMPLES |
Search for |
Search for |
.Qq mdoc |
.Qq .cf |
as a word or |
as a substring of manual names and descriptions: |
.Xr glob 7 |
|
expression: |
|
.Pp |
.Pp |
.Dl $ apropos mdoc |
.Dl $ apropos .cf |
.Dl $ apropos any~mdoc* |
|
.Pp |
.Pp |
Include matches for |
Include matches for |
.Qq roff |
.Qq .cnf |
and |
and |
.Qq man |
.Qq .conf |
using |
as well: |
.Xr glob 7 |
|
expressions: |
|
.Pp |
.Pp |
.Dl $ apropos ~*mdoc* ~*roff* |
.Dl $ apropos .cf .cnf .conf |
.Pp |
.Pp |
Search for |
Search in names and descriptions using a regular expression: |
|
.Pp |
|
.Dl $ apropos '~set.?[ug]id' |
|
.Pp |
|
Search for manuals in the library section mentioning both the |
|
.Qq optind |
|
and the |
.Qq optarg |
.Qq optarg |
as a variable name in the library category: |
variables: |
.Pp |
.Pp |
.Dl $ apropos \-s 3 Va=optarg |
.Dl $ apropos \-s 3 Va=optind \-a Va=optarg |
|
.Pp |
|
Do exactly the same as calling |
|
.Xr whatis 1 |
|
with the argument |
|
.Qq ssh : |
|
.Pp |
|
.Dl $ apropos \-\- \-i 'Nm~[[:<:]]ssh[[:>:]]' |
|
.Pp |
|
The following two invocations are equivalent: |
|
.Pp |
|
.D1 Li $ apropos -S Ar arch Li -s Ar section expression |
|
.Bd -ragged -offset indent |
|
.Li $ apropos \e( Ar expression Li \e) |
|
.Li -a arch~^( Ns Ar arch Ns Li |any)$ |
|
.Li -a sec~^ Ns Ar section Ns Li $ |
|
.Ed |
.Sh SEE ALSO |
.Sh SEE ALSO |
.Xr glob 7 , |
.Xr man 1 , |
|
.Xr re_format 7 , |
.Xr mandocdb 8 |
.Xr mandocdb 8 |
.Sh AUTHORS |
.Sh HISTORY |
|
An |
|
.Nm |
|
utility first appeared in |
|
.Bx 2 . |
|
It was rewritten from scratch for |
|
.Ox 5.6 . |
|
.Pp |
The |
The |
|
.Fl M |
|
option and the |
|
.Ev MANPATH |
|
variable first appeared in |
|
.Bx 4.3 ; |
|
.Fl m |
|
in |
|
.Bx 4.3 Reno ; |
|
.Fl C |
|
in |
|
.Bx 4.4 Lite1 ; |
|
and |
|
.Fl S |
|
and |
|
.Fl s |
|
in |
|
.Ox 4.5 . |
|
.Sh AUTHORS |
|
.An -nosplit |
|
.An Bill Joy |
|
wrote the original |
|
.Bx |
.Nm |
.Nm |
utility was written by |
in February 1979. |
.An Kristaps Dzonsons , |
The current version was written by |
.Mt kristaps@bsd.lv . |
.An Kristaps Dzonsons Aq Mt kristaps@bsd.lv |
|
and |
|
.An Ingo Schwarze Aq Mt schwarze@openbsd.org . |