version 1.12, 2011/11/29 10:59:19 |
version 1.19, 2012/06/09 14:11:15 |
|
|
.\" $Id$ |
.\" $Id$ |
.\" |
.\" |
.\" Copyright (c) 2011 Kristaps Dzonsons <kristaps@bsd.lv> |
.\" Copyright (c) 2011, 2012 Kristaps Dzonsons <kristaps@bsd.lv> |
.\" |
.\" |
.\" 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 |
|
|
.Dt APROPOS 1 |
.Dt APROPOS 1 |
.Os |
.Os |
.Sh NAME |
.Sh NAME |
.Nm apropos |
.Nm apropos , |
|
.Nm whatis |
.Nd search manual page databases |
.Nd search manual page databases |
.Sh SYNOPSIS |
.Sh SYNOPSIS |
.Nm |
.Nm |
|
.Op Fl C Ar file |
.Op Fl M Ar manpath |
.Op Fl M Ar manpath |
.Op Fl m Ar manpath |
.Op Fl m Ar manpath |
.Op Fl S Ar arch |
.Op Fl S Ar arch |
.Op Fl s Ar section |
.Op Fl s Ar section |
.Ar expression... |
.Ar expression ... |
.Sh DESCRIPTION |
.Sh DESCRIPTION |
The |
The |
.Nm |
.Nm apropos |
utility queries manual page databases generated by |
and |
|
.Nm whatis |
|
utilities query manual page databases generated by |
.Xr mandocdb 8 , |
.Xr mandocdb 8 , |
evaluating on |
evaluating on |
.Ar expression |
.Ar expression |
for each file in each database. |
for each file in each database. |
|
.Pp |
|
By default, |
|
.Nm |
|
searches for |
|
.Xr mandocdb 8 |
|
databases in the default paths stipulated by |
|
.Xr man 1 |
|
and |
|
maps terms to case-sensitive manual names and descriptions. |
|
Multiple terms are OR'd. |
|
.Nm whatis |
|
maps terms only to case-sensitive manual names. |
|
.Pp |
Its arguments are as follows: |
Its arguments are as follows: |
.Bl -tag -width Ds |
.Bl -tag -width Ds |
|
.It Fl C Ar file |
|
Specify an alternative configuration |
|
.Ar file |
|
in |
|
.Xr man.conf 5 |
|
format. |
.It Fl M Ar manpath |
.It Fl M Ar manpath |
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 |
|
|
for a listing of manual sections. |
for a listing of manual sections. |
.El |
.El |
.Pp |
.Pp |
An |
.Nm whatis |
|
considers an |
.Ar expression |
.Ar expression |
consists of search terms joined by logical operators |
to consist of an opaque keyword. |
.Fl a |
.Nm apropos |
.Pq and |
parses a |
and |
.Ar expression |
.Fl o |
into type and keyword pairs. |
.Pq or . |
This pair syntax |
The |
|
.Fl a |
|
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 |
|
.Qq and ) . |
|
.It Ar expr1 Oo Fl o Oc Ar expr2 |
|
True if |
|
.Ar expr1 |
|
and/or |
|
.Ar expr2 |
|
evaluate to true (logical |
|
.Qq or ) . |
|
.It Ar term |
|
True if |
|
.Ar term |
|
is satisfied. |
|
This has syntax |
|
.Li [key[,key]*(=~)]?val , |
.Li [key[,key]*(=~)]?val , |
where operand |
where operand |
.Cm key |
.Cm key |
|
|
for a list of available keys. |
for a list of available keys. |
Operator |
Operator |
.Li \&= |
.Li \&= |
evaluates a substring, while |
evaluates a full string, while |
.Li \&~ |
.Li \&~ |
evaluates a regular expression. |
evaluates a |
.It Fl i Ar term |
.Xr glob 7 |
If |
pattern. |
.Ar term |
|
is a regular expression, it |
|
is evaluated case-insensitively. |
|
Has no effect on substring terms. |
|
.El |
|
.Pp |
.Pp |
By default, |
|
.Nm |
|
searches for |
|
.Xr mandocdb 8 |
|
databases in the default paths stipulated by |
|
.Xr man 1 , |
|
parses terms as case-sensitive regular expressions |
|
.Pq the Li \&~ operator |
|
over manual names and descriptions |
|
.Pq the Li \&Nm No and Li \&Nd No macro keys . |
|
Multiple terms imply pairwise |
|
.Fl o . |
|
Results are sorted by manual title, with output formatted as |
Results are sorted by manual title, with output formatted as |
.Pp |
.Qq title(sec) \- description |
.D1 title(sec) \- description |
where |
.Pp |
|
Where |
|
.Qq title |
.Qq title |
is the manual's title (note multiple manual names may exist for one |
is the manual's title (note multiple manual names may exist for one |
title), |
title), |
Line 144 is the manual section, and |
|
Line 120 is the manual section, and |
|
.Qq description |
.Qq 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 |
.Pp |
.Qq title(cat/arch) \- description . |
.D1 title(cat/arch) \- description |
|
.Pp |
|
Resulting manuals may be accessed as |
|
.Pp |
|
.Dl $ man \-s sec title |
|
.Pp |
|
If an architecture is specified in the output, use |
|
.Pp |
|
.Dl $ man \-s sec \-S arch title |
|
.Ss Macro Keys |
.Ss Macro Keys |
Queries evaluate over a subset of |
.Nm apropos |
|
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 232 Text production: |
|
Line 200 Text production: |
|
.Sh ENVIRONMENT |
.Sh ENVIRONMENT |
.Bl -tag -width Ds |
.Bl -tag -width Ds |
.It Ev MANPATH |
.It Ev MANPATH |
Colon-separated paths overriding the default list of paths searched for |
Colon-separated paths modifying the default list of paths searched for |
manual databases. |
manual databases. |
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 |
|
.Ev MANPATH |
|
begins with a |
|
.Sq \&: , |
|
it is appended to the default list; |
|
else if it ends with |
|
.Sq \&: , |
|
it is prepended to the default list; else if it contains |
|
.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 |
|
.Bl -tag -width "/etc/man.conf" -compact |
|
.It Pa mandocdb.db |
|
name of the |
|
.Xr mandocdb 8 |
|
keyword database |
|
.It Pa /etc/man.conf |
|
default |
|
.Xr man 1 |
|
configuration file |
|
.El |
.Sh EXIT STATUS |
.Sh EXIT STATUS |
.Ex -std |
.Ex -std |
.Sh EXAMPLES |
.Sh EXAMPLES |
Search for |
Search for |
.Qq mdoc |
.Qq mdoc |
as a substring and regular expression |
as a word or |
within each manual name and description: |
.Xr glob 7 |
|
expression: |
.Pp |
.Pp |
.Dl $ apropos mdoc |
.Dl $ apropos mdoc |
.Dl $ apropos ~^mdoc$ |
.Dl $ apropos any~mdoc* |
.Pp |
.Pp |
Include matches for |
Include matches for |
.Qq roff |
.Qq roff |
and |
and |
.Qq man |
.Qq man |
for the regular expression case: |
using |
|
.Xr glob 7 |
|
expressions: |
.Pp |
.Pp |
.Dl $ apropos ~^mdoc$ roff man |
.Dl $ apropos ~*mdoc* ~*roff* |
.Dl $ apropos ~^mdoc$ \-o roff \-o man |
|
.Pp |
.Pp |
Search for |
Search for |
.Qq optind |
|
and |
|
.Qq optarg |
.Qq optarg |
as variable names in the library category: |
as a variable name in the library category: |
.Pp |
.Pp |
.Dl $ apropos \-s 3 Va~^optind \-a Va~^optarg$ |
.Dl $ apropos \-s 3 Va=optarg |
.Sh SEE ALSO |
.Sh SEE ALSO |
.Xr man 1 , |
.Xr glob 7 , |
.Xr re_format 7 , |
|
.Xr mandocdb 8 |
.Xr mandocdb 8 |
.Sh AUTHORS |
.Sh AUTHORS |
The |
The |