# apropos - search the manual page names and descriptions - man(1) - [phpMan]

> **TLDR:** Search the manual pages for names and descriptions.
>
- Search for a keyword using a `regex`:
  `apropos {{regex}}`
- Search without restricting the output to the terminal width (long output):
  `apropos {{-l|--long}} {{regex}}`
- Search for pages that match all the `regex` given:
  `apropos {{regex_1}} {{-a|--and}} {{regex_2}} {{-a|--and}} {{regex_3}}`

*Source: tldr-pages*

---

[_APROPOS_(1)](https://www.chedong.com/phpMan.php/man/APROPOS/1/markdown)                               Manual pager utils                               [_APROPOS_(1)](https://www.chedong.com/phpMan.php/man/APROPOS/1/markdown)

## NAME
       apropos - search the manual page names and descriptions

## SYNOPSIS
       **apropos **[**-dalv?V**] [**-e**|**-w**|**-r**] [**-s _**list_] [**-m _**system_[,...]] [**-M _**path_] [**-L _**locale_] [**-C _**file_] _key‐_
       _word_ ...

## DESCRIPTION
       Each  manual page has a short description available within it.  **apropos **searches the descrip‐
       tions for instances of _keyword_.

       _keyword_ is usually a regular expression, as if (**-r**) was used, or may contain wildcards  (**-w**),
       or  match the exact keyword (**-e**).  Using these options, it may be necessary to quote the _key‐_
       _word_ or escape (\) the special characters to stop the shell from interpreting them.

       The standard matching rules allow matches to be made against the page name  and  word  bound‐
       aries in the description.

       The  database searched by **apropos **is updated by the **mandb **program.  Depending on your instal‐
       lation, this may be run by a periodic cron job, or may need to be run manually after new man‐
       ual pages have been installed.

## OPTIONS
### -d --debug
              Print debugging information.

### -v --verbose
              Print verbose warning messages.

### -r --regex
              Interpret each keyword as a regular expression.  This is the default behaviour.   Each
              keyword will be matched against the page names and the descriptions independently.  It
              can match any part of either.  The match is not limited to word boundaries.

### -w --wildcard
              Interpret  each  keyword  as a pattern containing shell style wildcards.  Each keyword
              will be matched against the page names and the descriptions independently.  If **--exact**
              is also used, a match will only be found if an expanded keyword matches an entire  de‐
              scription or page name.  Otherwise the keyword is also allowed to match on word bound‐
              aries in the description.

### -e --exact
              Each keyword will be exactly matched against the page names and the descriptions.

### -a --and
              Only  display  items  that match all the supplied keywords.  The default is to display
              items that match any keyword.

### -l --long
              Do not trim output to the terminal width.  Normally, output will be truncated  to  the
              terminal width to avoid ugly results from poorly-written **NAME **sections.

### -s _ --sections=_ --section=_
              Search  only  the  given manual sections.  _list_ is a colon- or comma-separated list of
              sections.  If an entry in _list_ is a simple section, for example  "3",  then  the  dis‐
              played  list of descriptions will include pages in sections "3", "3perl", "3x", and so
              on; while if an entry in _list_ has an extension, for example  "3perl",  then  the  list
              will only include pages in that exact part of the manual section.

### -m _ --systems=_
              If  this  system has access to other operating systems' manual page descriptions, they
              can be searched using this option.  To search NewOS's manual  page  descriptions,  use
              the option **-m NewOS**.

              The  _system_  specified can be a combination of comma-delimited operating system names.
              To include a search of the native operating system's **whatis **descriptions, include  the
              system  name  **man **in the argument string.  This option will override the $**SYSTEM **envi‐
              ronment variable.

### -M _ --manpath=_
              Specify an alternate set of colon-delimited manual page hierarchies to search.  By de‐
              fault, **apropos **uses the $**MANPATH **environment variable, unless it is empty or unset, in
              which case it will determine an appropriate manpath based on  your  $**PATH  **environment
              variable.  This option overrides the contents of $**MANPATH**.

### -L _ --locale=_
              **apropos **will normally determine your current locale by a call to the C function **setlo‐**
              [**cale**(3)](https://www.chedong.com/phpMan.php/man/cale/3/markdown)  which interrogates various environment variables, possibly including $**LC_MES‐**
              **SAGES **and $**LANG**.  To temporarily override the determined value,  use  this  option  to
              supply  a  _locale_ string directly to **apropos**.  Note that it will not take effect until
              the search for pages actually begins.  Output such as the help message will always  be
              displayed in the initially determined locale.

### -C _ --config-file=_
              Use this user configuration file rather than the default of _~/.manpath_.

       **-?**, **--help**
              Print a help message and exit.

### --usage
              Print a short usage message and exit.

### -V --version
              Display version information.

## EXIT STATUS
       **0      **Successful program execution.

       **1      **Usage, syntax or configuration file error.

       **2      **Operational error.

       **16     **Nothing was found that matched the criteria specified.

## ENVIRONMENT
       **SYSTEM **If $**SYSTEM **is set, it will have the same effect as if it had been specified as the ar‐
              gument to the **-m **option.

       **MANPATH**
              If  $**MANPATH **is set, its value is interpreted as the colon-delimited manual page hier‐
              archy search path to use.

              See the **SEARCH PATH **section of [**manpath**(5)](https://www.chedong.com/phpMan.php/man/manpath/5/markdown) for the default behaviour and details of how
              this environment variable is handled.

       **MANWIDTH**
              If $**MANWIDTH **is set, its value is used as the terminal width (see the **--long  **option).
              If  it  is not set, the terminal width will be calculated using the value of $**COLUMNS**,
              and [**ioctl**(2)](https://www.chedong.com/phpMan.php/man/ioctl/2/markdown) if available, or falling back to 80 characters if all else fails.

       **POSIXLY_CORRECT**
              If $**POSIXLY_CORRECT **is set, even to a null value, the default **apropos **search  will  be
              as an extended regex (**-r**).  Nowadays, this is the default behaviour anyway.

## FILES
       _/usr/share/man/index.(bt|db|dir|pag)_
              A traditional global _index_ database cache.

       _/var/cache/man/index.(bt|db|dir|pag)_
              An FHS compliant global _index_ database cache.

       _/usr/share/man/.../whatis_
              A traditional **whatis **text database.

## SEE ALSO
       [**man**(1)](https://www.chedong.com/phpMan.php/man/man/1/markdown), [**whatis**(1)](https://www.chedong.com/phpMan.php/man/whatis/1/markdown), [**mandb**(8)](https://www.chedong.com/phpMan.php/man/mandb/8/markdown)

## AUTHOR
       Wilf. (<G.Wilford@ee.surrey.ac.uk>).
       Fabrizio Polacco (<fpolacco@debian.org>).
       Colin Watson (<cjwatson@debian.org>).

## BUGS
       <https://gitlab.com/man-db/man-db/-/issues>
       <https://savannah.nongnu.org/bugs/?group=man-db>

2.12.0                                       2023-09-23                                   [_APROPOS_(1)](https://www.chedong.com/phpMan.php/man/APROPOS/1/markdown)
