WHEREIS(1)

โœจ whereis(1) โ€” the find-your-fave-files era โœจ

okay so bestie, this is the manual page for whereis, a User Commands icon. She's the one who goes and finds the binary, the source, and the manual page files for whatever command you're looking for. ๐Ÿ’…


๐ŸŒธ NAME ๐ŸŒธ

whereis โ€” locate the binary, source, and manual page files for a command ๐Ÿฆ‹


๐ŸŽ€ SYNOPSIS ๐ŸŽ€

whereis [options] [-BMS directory... -f] name...

๐Ÿ’– DESCRIPTION ๐Ÿ’–

So here's the tea: whereis locates the binary, source and manual files for the command names you hand her. ๐Ÿซถ

First, the names you give her get stripped of leading pathname components. Then, prefixes of s. that come from source code control also get dealt with. After all that glow-up, whereis goes and tries to locate the program you want in the standard Linux places, plus the places specified by $PATH and $MANPATH. โœจ

The search restrictions (options -b, -m and -s) are cumulative and apply to the subsequent name patterns on the command line. Any new search restriction resets the search mask. Like, for example:

whereis -bm ls tr -m gcc

that searches for ls and tr binaries and man pages, and for gcc man pages only. See how the -m switched the vibe up mid-line? ๐Ÿ˜Œ

The options -B, -M and -S reset search paths for the subsequent name patterns. For example:

whereis -m ls -M /usr/share/man/man1 -f cal

searches for ls man pages in all default paths, but for cal in the /usr/share/man/man1 directory only. ๐ŸŽฏ


โœจ OPTIONS โœจ

  • -b โ€” Search for binaries. ๐Ÿงš
  • -m โ€” Search for manuals. ๐Ÿ“–
  • -s โ€” Search for sources. ๐Ÿ“
  • -u โ€” Only show the command names that have unusual entries. A command is said to be unusual if it does not have just one entry of each explicitly requested type. So whereis -m -u * asks for those files in the current directory which have no documentation file, or more than one. ๐Ÿ‘€
  • -B list โ€” Limit the places where whereis searches for binaries, by a whitespace-separated list of directories. ๐ŸŒˆ
  • -M list โ€” Limit the places where whereis searches for manuals and documentation in Info format, by a whitespace-separated list of directories. ๐Ÿ’œ
  • -S list โ€” Limit the places where whereis searches for sources, by a whitespace-separated list of directories. โญ
  • -f โ€” Terminates the directory list and signals the start of filenames. It must be used when any of the -B, -M, or -S options is used. No skipping this one, bestie, it's literally required. ๐Ÿšจ
  • -l โ€” Output the list of effective lookup paths that whereis is using. When none of -B, -M, or -S is specified, the option will output the hard-coded paths that the command was able to find on the system. ๐Ÿ”
  • -g โ€” Interpret the next names as glob(7) patterns. whereis always compares only filenames (aka basename) and never complete path. Using directory names in the pattern has no effect. Don't forget that the shell interprets the pattern when specified on the command line without quotes. It's necessary to use quotes for the name, for example:
whereis -g 'find*'
  • -h, --help โ€” Display help text and exit. ๐Ÿซถ
  • -V, --version โ€” Display version and exit. ๐Ÿ‘‘

๐Ÿฆ‹ FILE SEARCH PATHS ๐Ÿฆ‹

By default whereis tries to find files from hard-coded paths, which are defined with glob patterns. The command attempts to use the contents of $PATH and $MANPATH environment variables as default search path. The easiest way to know what paths are in use is to add the -l listing option. Effects of the -B, -M, and -S are displayed with -l. ๐Ÿ’ซ


๐ŸŒˆ ENVIRONMENT ๐ŸŒˆ

  • WHEREIS_DEBUG=all โ€” enables debug output. ๐Ÿ›

๐Ÿ’… EXAMPLES ๐Ÿ’…

To find all files in /usr/bin which are not documented in /usr/man/man1 or have no source in /usr/src:

cd /usr/bin
whereis -u -ms -M /usr/man/man1 -S /usr/src -f *

ate that fr fr ๐Ÿ”ฅ


๐Ÿ˜ญ REPORTING BUGS ๐Ÿ˜ญ

For bug reports, use the issue tracker <https://github.com/util-linux/util-linux/issues>. She wants to hear from you, no cap.


๐Ÿ‘‘ AVAILABILITY ๐Ÿ‘‘

The whereis command is part of the util-linux package which can be downloaded from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.


okay that's the whole thing, you're literally a whereis expert now ๐Ÿ’œ this page is from util-linux 2.42.4, dated 2026-09-21 โ€” so if you're reading this, bestie, that's the version and the date, periodt. ๐ŸŽ€โœจ

๐Ÿ“ฆ where this page comes from
  • arch rolling: util-linux 2.42.4-1 ยท BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause-UC AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-or-later AND ISC AND LGPL-2.1-or-later AND LicenseRef-PublicDomain
  • ๐Ÿ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms