.\" 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
.B \-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
.B \-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
.B \-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 .
