
The whereis command helps users locate the binary, source, and manual page files for a given command. And in this tutorial, I will walk you through practical examples to help you understand how to use whereis command.
Unlike other search commands like find that scan the entire file system, whereis
searches predefined directories, making it faster and more efficient.
It is particularly useful for system administrators and developers to locate files related to commands without requiring root privileges.
whereis Command Syntax
To use any command to its maximum potential, it is important to know its syntax and that is why I'm starting this tutorial by introducing the syntax of the whereis command:
whereis [OPTIONS] FILE_NAME...
Here,
- OPTIONS: Flags that modify the search behavior.
- FILE_NAME: The name of the file or command to locate.
Now, let's take a look at available options of the whereis command:
Flag | Description |
---|---|
-b |
Search only for binary files. |
-s |
Search only for source files. |
-m |
Search only for manual pages. |
-u |
Search for unusual files (files missing one or more of binary, source, or manual). |
-B |
Specify directories to search for binary files (must be followed by -f). |
-S |
Specify directories to search for source files (must be followed by -f). |
-M |
Specify directories to search for manual pages (must be followed by -f). |
-f |
Terminate directory lists provided with -B, -S, or -M, signaling the start of file names. |
-l |
Display directories that are searched by default. |
1. Locate all files related to a command
To find all files (binary, source, and manual) related to a command, all you have to do is append the command name to the whereis command as shown here:
whereis command
For example, if I want to locate all files related to bash
, then I would use the following:
whereis bash

Here,
/usr/bin/bash
: Path to the binary file./usr/share/man/man1/bash.1.gz
: Path to the manual page.
2. Search for binary files only
To locate only the binary (executable) file of a command, use the -b
flag along with the target command as shown here:
whereis -b command
If I want to search for the binary files for the ls
command, then I would use the following:
whereis -b ls

3. Search for the manual page only
To locate only the manual page for a specific command, use the -m
flag along with the targeted command as shown here:
whereis -m command
For example, if I want to search for the manual page location for the grep command, then I would use the following:
whereis -m grep

As you can see, it gave me two locations:
/usr/share/man/man1/grep.1.gz
: A manual page which can be accessed throughman grep
command./usr/share/info/grep.info.gz
: An info page that can be accessed throughinfo grep
command.
4. Search for source files only
To find only source code files associated with a command, use the -s
flag along with the targeted command as shown here:
whereis -s command
For example, if I want to search source files for the gcc
, then I would use the following:
whereis -s gcc
My system is fresh and I haven't installed any packages from the source so I was given a blank output.
5. Specify custom directories for searching
To limit your search to specific directories, use options like -B
, -S
, or -M
. For example, if I want to limit my search to the /bin
directory for the cp
command, then I would use the following command:
whereis -b -B /bin -f cp

Here,
-b
: This flag tells whereis to search only for binary files (executables), ignoring source and manual files.-B /bin
: The -B flag specifies a custom directory (/bin in this case) where whereis should look for binary files. It also limits the search to the/bin
directory instead of searching all default directories.-f cp
: Without-f
, the whereis command would interpret cp as another directory.
6. Identify commands missing certain files (unusual files)
The whereis
command can help you find commands that are missing one or more associated files (binary, source, or manual). This is particularly useful for troubleshooting or verifying file completeness.
For example, to search for commands in the /bin
directory that is missing manual pages, you first have to change your directory to /bin
and then use the -u
flag to search for unusual files:
cd /bin
whereis -u -m *

Wrapping Up...
This was a quick tutorial on how you can use the whereis command in Linux including practical examples and syntax. I hope you will find this guide helpful.
If you have any queries or suggestions, leave us a comment.
Creator of Linux Handbook and It's FOSS. An ardent Linux user who has new-found love for self-hosting, homelabs and local AI.