Copyright (c) 2000, Sun Microsystems, Inc.
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
/usr/ucb/whereis [-bmsu] [-BMS directory... -f] filename...
The whereis utility locates source/binary and manuals sections for specified files. The supplied names are first stripped of leading pathname components and any (single) trailing extension of the form .ext, for example, .c. Prefixes of s. resulting from use of source code control are also dealt with. whereis then attempts to locate the desired program in a list of standard places:
etc
/sbin
/usr/bin
/usr/ccs/bin
/usr/ccs/lib
/usr/lang
/usr/lbin
/usr/lib
/usr/sbin
/usr/ucb
/usr/ucblib
/usr/ucbinclude
/usr/games
/usr/local
/usr/local/bin
/usr/new
/usr/old
/usr/hosts
/usr/include
/usr/etc
The following options are supported:
-b
Searches only for binaries.
-B
Changes or otherwise limits the places where whereis searches for binaries.
-f
Terminates the last directory list and signals the start of file names, and must be used when any of the -B, -M, or -S options are used.
-m
Searches only for manual sections.
-M
Changes or otherwise limits the places where whereis searches for manual sections.
-s
Searches only for sources.
-S
Changes or otherwise limit the places where whereis searches for sources.
-u
Searches for unusual entries. A file is said to be unusual if it does not have one entry of each requested type. Thus `whereis -m -u *' asks for those files in the current directory which have no documentation.
Example 1 Finding files
Find all files in /usr/bin which are not documented in /usr/share/man/man1 with source in /usr/src/cmd:
example% cd /usr/ucb example% whereis -u -M /usr/share/man/man1 -S /usr/src/cmd -f *
/usr/{doc,man}/*
/etc, /usr/{lib,bin,ucb,old,new,local}
chdir(2), attributes(5)
Since whereis uses chdir(2) to run faster, pathnames given with the -M, -S, or -B must be full; that is, they must begin with a `/'.