| .\" Copyright (c) 1980, 1990 The Regents of the University of California. |
| .\" All rights reserved. |
| .\" |
| .\" Redistribution and use in source and binary forms, with or without |
| .\" modification, are permitted provided that the following conditions |
| .\" are met: |
| .\" 1. Redistributions of source code must retain the above copyright |
| .\" notice, this list of conditions and the following disclaimer. |
| .\" 2. Redistributions in binary form must reproduce the above copyright |
| .\" notice, this list of conditions and the following disclaimer in the |
| .\" documentation and/or other materials provided with the distribution. |
| .\" 3. All advertising materials mentioning features or use of this software |
| .\" must display the following acknowledgement: |
| .\" This product includes software developed by the University of |
| .\" California, Berkeley and its contributors. |
| .\" 4. Neither the name of the University nor the names of its contributors |
| .\" may be used to endorse or promote products derived from this software |
| .\" without specific prior written permission. |
| .\" |
| .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND |
| .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
| .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
| .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE |
| .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
| .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS |
| .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
| .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
| .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY |
| .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
| .\" SUCH DAMAGE. |
| .\" |
| .\" @(#)whereis.1 from UCB 4.2 |
| .TH WHEREIS 1 "October 2014" "util-linux" "User Commands" |
| .SH NAME |
| whereis \- locate the binary, source, and manual page files for a command |
| .SH SYNOPSIS |
| .B whereis |
| [options] |
| .RB [ \-BMS |
| .IR directory "... " \fB\-f\fR ] |
| .IR name ... |
| .SH DESCRIPTION |
| .B whereis |
| locates the binary, source and manual files for the specified command names. |
| The supplied names are first stripped of leading pathname components and any |
| (single) trailing extension of the form |
| .BI . ext |
| (for example: |
| .BR .c ) |
| Prefixes of |
| .B s. |
| resulting from use of source code control are also dealt with. |
| .B whereis |
| then attempts to locate the desired program in the standard Linux places, and |
| in the places specified by |
| .B $PATH |
| and |
| .BR $MANPATH . |
| .sp |
| The search restrictions (options \fB\-b\fP, \fB\-m\fP and \fB\-s\fP) |
| are cumulative and apply to the subsequent \fIname\fP patterns on |
| the command line. Any new search restriction resets the search mask. |
| For example, |
| .RS |
| .sp |
| .B "whereis -bm ls tr -m gcc" |
| .sp |
| .RE |
| searches for "ls" and "tr" binaries and man pages, and for "gcc" man pages only. |
| .sp |
| The options \fB\-B\fP, \fB\-M\fP and \fB\-S\fP reset search paths for the |
| subsequent \fIname\fP patterns. For example, |
| .RS |
| .sp |
| .B "whereis -m ls -M /usr/share/man/man1 -f cal" |
| .sp |
| .RE |
| searches for "ls" man pages in all default paths, but for "cal" in |
| the /usr/share/man/man1 directory only. |
| |
| .SH OPTIONS |
| .TP |
| .IP \fB\-b\fP |
| Search for binaries. |
| .IP \fB\-m\fP |
| Search for manuals. |
| .IP \fB\-s\fP |
| Search for sources. |
| .IP \fB\-u\fP |
| 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. |
| Thus |
| .RB ' "whereis \-m \-u *" ' |
| asks for those files in the current directory which have no documentation file, |
| or more than one. |
| .IP "\fB\-B \fIlist\fP" |
| Limit the places where |
| .B whereis |
| searches for binaries, by a whitespace-separated list of directories. |
| .IP "\fB\-M \fIlist\fP" |
| Limit the places where |
| .B whereis |
| searches for manuals and documentation in Info format, by a |
| whitespace-separated list of directories. |
| .IP "\fB\-S \fIlist\fP" |
| Limit the places where |
| .B whereis |
| searches for sources, by a whitespace-separated list of directories. |
| .IP "\fB\-f\fP" |
| Terminates the directory list and signals the start of filenames. It |
| .I must |
| be used when any of the |
| .BR \-B , |
| .BR \-M , |
| or |
| .BR \-S |
| options is used. |
| .IP "\fB\-l" |
| Output the list of effective lookup paths that |
| .B whereis |
| is using. When none of |
| .BR \-B , |
| .BR \-M , |
| or |
| .BR \-S |
| is specified, the option will output the hard-coded paths |
| that the command was able to find on the system. |
| .TP |
| \fB\-h\fR, \fB\-\-help\fR |
| Display help text and exit. |
| .TP |
| \fB\-V\fR, \fB\-\-version\fR |
| Display version information and exit. |
| .SH EXAMPLE |
| To find all files in |
| .I /usr/\:bin |
| which are not documented |
| in |
| .I /usr/\:man/\:man1 |
| or have no source in |
| .IR /usr/\:src : |
| .IP |
| .B cd /usr/bin |
| .br |
| .B whereis \-u \-ms \-M /usr/man/man1 \-S /usr/src \-f * |
| .SH "FILE SEARCH PATHS" |
| By default |
| .B whereis |
| tries to find files from hard-coded paths, which are defined with glob |
| patterns. The command attempts to use the contents of |
| .B $PATH |
| and |
| .B $MANPATH |
| environment variables as default search path. The easiest way to know |
| what paths are in use is to add the |
| .B \-l |
| listing option. Effects of the |
| .BR \-B , |
| .BR \-M , |
| and |
| .BR \-S |
| are displayed with |
| .BR \-l . |
| .PP |
| .SH ENVIRONMENT |
| .IP WHEREIS_DEBUG=all |
| enables debug output. |
| .SH AVAILABILITY |
| The whereis command is part of the util-linux package and is available from |
| .UR https://\:www.kernel.org\:/pub\:/linux\:/utils\:/util-linux/ |
| Linux Kernel Archive |
| .UE . |