WHATIS(1)

Okay bestie, this is the Manual pager utils page for whatis πŸ’– I read the whole thing so you don't have to 🫢

✨ NAME ✨

whatis β€” display one-line manual page descriptions πŸŽ€

✨ SYNOPSIS ✨

whatis [-dlv?V] [-r|-w] [-s list] [-m system[,...]] [-M path] [-L locale] [-C file] name ...

✨ DESCRIPTION ✨

Every manual page has a short description hiding inside it πŸ‘€ whatis searches the manual page names and shows you the descriptions of whatever names it matches. Main character energy πŸ’…

name can have wildcards (-w) or be a regular expression (-r) πŸ¦‹ When you use those options, you might need to quote the name or escape (\) the special characters so the shell doesn't try to interpret them first πŸ™ˆ

Index databases get used during the search, and they're kept up to date by the mandb program πŸ’œ Depending on your setup, that might run from a periodic cron job, or you might have to run it yourself after installing new manual pages. To make an old style text whatis database from the relative index database, run this:

whatis -M manpath -w '*' | sort > manpath/whatis

where manpath is a manual page hierarchy such as /usr/man 🌸

✨ OPTIONS ✨

  • -d, --debug β€” Prints debugging info πŸ”
  • -v, --verbose β€” Prints verbose warning messages ⚠️
  • -r, --regex β€” Treats each name as a regular expression. If a name matches any part of a page name, that counts as a match πŸ¦‹ Heads up: this makes whatis somewhat slower because of how database searches work.
  • -w, --wildcard β€” Treats each name as a pattern with shell style wildcards. For a match, the expanded name has to match the entire page name πŸŽ€ This also makes whatis somewhat slower.
  • -l, --long β€” Doesn't trim the output to your terminal width. Normally it gets cut to fit so poorly written NAME sections don't look messy πŸ’…
  • -s list, --sections=list, --section=list β€” Only searches the sections you pick ✨ list is a colon- or comma-separated list. A simple section like 3 also brings up pages in 3perl, 3x, and so on. But if an entry has an extension, like 3perl, only pages in that exact part of the section show up 🧚
  • -m system[,...], --systems=system[,...] β€” If your system can reach other operating systems' manual page names, you can search them with this 🌈 To search NewOS's names, use -m NewOS. The system can be a comma-delimited combo of OS names. To include your native OS's names, add man to the list. This option overrides the $SYSTEM environment variable.
  • -M path, --manpath=path β€” Picks a different set of colon-delimited manual page hierarchies to search πŸ—ΊοΈ By default whatis uses $MANPATH, unless it's empty or unset. In that case it works out a manpath from your $PATH environment variable. This option overrides the contents of $MANPATH.
  • -L locale, --locale=locale β€” Normally whatis figures out your locale by calling the C function setlocale(3), which checks various environment variables, possibly including $LC_MESSAGES and $LANG 🌍 To override that temporarily, pass a locale string straight in with this option. It won't kick in until the search actually begins. Stuff like the help message always shows in the locale that was figured out at the start.
  • -C file, --config-file=file β€” Uses this user config file instead of the default ~/.manpath πŸ“
  • -?, --help β€” Prints a help message and exits πŸ™‹
  • --usage β€” Prints a short usage message and exits πŸ“
  • -V, --version β€” Shows version info πŸ”–

✨ EXIT STATUS ✨

  • 0 β€” Program ran successfully βœ…
  • 1 β€” Usage, syntax or configuration file error πŸ™ˆ
  • 2 β€” Operational error 😭
  • 16 β€” Nothing was found that matched your criteria πŸ’€

✨ ENVIRONMENT ✨

  • SYSTEM β€” If $SYSTEM is set, it works exactly like passing it to the -m option 🫢
  • MANPATH β€” If $MANPATH is set, its value is read as the colon-delimited manual page hierarchy search path to use. Check the SEARCH PATH section of manpath(5) for the default behaviour and the details of how this variable is handled πŸ—‚οΈ
  • MANWIDTH β€” If $MANWIDTH is set, its value is used as the terminal width (see --long) πŸ“ If it isn't set, the width is calculated from $COLUMNS, and ioctl(2) if it's available, or it falls back to 80 characters if all else fails.

✨ 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 ✨

apropos(1), man(1), mandb(8) πŸ’–

✨ AUTHOR ✨

  • Wilf. (G.Wilford@ee.surrey.ac.uk). 🫢
  • Fabrizio Polacco (fpolacco@debian.org). 🫢
  • Colin Watson (cjwatson@debian.org). 🫢

✨ BUGS ✨

Found a bug? Report it at these spots πŸ›

And that's the whole tea β˜• whatis version 2.13.1, dated 2025-05-02, and we're literally done πŸ’…βœ¨ Love you, bestie πŸŒΈπŸ¦‹