1994-05-27 12:33:43 +00:00
|
|
|
.\" Copyright (c) 1993
|
|
|
|
.\" The Regents of the University of California. All rights reserved.
|
|
|
|
.\"
|
Complete rewrite, once again.
This is basically a ``C compilation'' of the former whereis.pl file,
employing the same algorithms, and aiming at being mostly
UI-compatible to the old (legally tainted) 4.3BSD whereis(1). In
comparision, the 4.4BSD-Lite version is just another variant of
which(1) only, where in particular the option to search for source
directories is sorely missing.
While i was at it, i added two more options which i contemplated doing
long since. -x will suppress the run of locate(1) to find sources
that could not be found otherwise, potentially saving a lot of time
(but obviously, risking to not find some sources that are well hidden
in the tree). -q will omit the leading name of the query, so in
particular, you can now do something like:
cd `whereis -qs ls`
I'd explicitly like to thank johan for his review which was quite a
bit more than an average review, including sending me a lot of diffs.
Reviewed by: johan
2002-07-11 21:20:54 +00:00
|
|
|
.\" Copyright 2002 Joerg Wunsch
|
|
|
|
.\"
|
1994-05-27 12:33:43 +00:00
|
|
|
.\" 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.
|
2014-03-14 03:07:51 +00:00
|
|
|
.\" 3. Neither the name of the University nor the names of its contributors
|
1994-05-27 12:33:43 +00:00
|
|
|
.\" 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.
|
|
|
|
.\"
|
Complete rewrite, once again.
This is basically a ``C compilation'' of the former whereis.pl file,
employing the same algorithms, and aiming at being mostly
UI-compatible to the old (legally tainted) 4.3BSD whereis(1). In
comparision, the 4.4BSD-Lite version is just another variant of
which(1) only, where in particular the option to search for source
directories is sorely missing.
While i was at it, i added two more options which i contemplated doing
long since. -x will suppress the run of locate(1) to find sources
that could not be found otherwise, potentially saving a lot of time
(but obviously, risking to not find some sources that are well hidden
in the tree). -q will omit the leading name of the query, so in
particular, you can now do something like:
cd `whereis -qs ls`
I'd explicitly like to thank johan for his review which was quite a
bit more than an average review, including sending me a lot of diffs.
Reviewed by: johan
2002-07-11 21:20:54 +00:00
|
|
|
.\" @(#)whereis.1 8.2 (Berkeley) 12/30/93
|
|
|
|
.\"
|
|
|
|
.\" $FreeBSD$
|
1996-06-15 12:29:48 +00:00
|
|
|
.\"
|
2002-08-22 01:54:18 +00:00
|
|
|
.Dd August 22, 2002
|
1994-05-27 12:33:43 +00:00
|
|
|
.Dt WHEREIS 1
|
2001-07-10 14:16:33 +00:00
|
|
|
.Os
|
1994-05-27 12:33:43 +00:00
|
|
|
.Sh NAME
|
|
|
|
.Nm whereis
|
|
|
|
.Nd locate programs
|
|
|
|
.Sh SYNOPSIS
|
2000-11-20 19:21:22 +00:00
|
|
|
.Nm
|
2002-08-22 01:50:51 +00:00
|
|
|
.Op Fl abmqsux
|
2002-11-26 17:33:37 +00:00
|
|
|
.Op Fl BMS Ar dir ... Fl f
|
2002-07-03 19:20:59 +00:00
|
|
|
.Ar program ...
|
1994-05-27 12:33:43 +00:00
|
|
|
.Sh DESCRIPTION
|
|
|
|
The
|
2000-11-20 19:21:22 +00:00
|
|
|
.Nm
|
Complete rewrite, once again.
This is basically a ``C compilation'' of the former whereis.pl file,
employing the same algorithms, and aiming at being mostly
UI-compatible to the old (legally tainted) 4.3BSD whereis(1). In
comparision, the 4.4BSD-Lite version is just another variant of
which(1) only, where in particular the option to search for source
directories is sorely missing.
While i was at it, i added two more options which i contemplated doing
long since. -x will suppress the run of locate(1) to find sources
that could not be found otherwise, potentially saving a lot of time
(but obviously, risking to not find some sources that are well hidden
in the tree). -q will omit the leading name of the query, so in
particular, you can now do something like:
cd `whereis -qs ls`
I'd explicitly like to thank johan for his review which was quite a
bit more than an average review, including sending me a lot of diffs.
Reviewed by: johan
2002-07-11 21:20:54 +00:00
|
|
|
utility checks the standard binary, manual page, and source
|
|
|
|
directories for the specified programs, printing out the paths of any
|
2004-07-02 22:22:35 +00:00
|
|
|
it finds.
|
|
|
|
The supplied program names are first stripped of leading
|
Complete rewrite, once again.
This is basically a ``C compilation'' of the former whereis.pl file,
employing the same algorithms, and aiming at being mostly
UI-compatible to the old (legally tainted) 4.3BSD whereis(1). In
comparision, the 4.4BSD-Lite version is just another variant of
which(1) only, where in particular the option to search for source
directories is sorely missing.
While i was at it, i added two more options which i contemplated doing
long since. -x will suppress the run of locate(1) to find sources
that could not be found otherwise, potentially saving a lot of time
(but obviously, risking to not find some sources that are well hidden
in the tree). -q will omit the leading name of the query, so in
particular, you can now do something like:
cd `whereis -qs ls`
I'd explicitly like to thank johan for his review which was quite a
bit more than an average review, including sending me a lot of diffs.
Reviewed by: johan
2002-07-11 21:20:54 +00:00
|
|
|
path name components, any single trailing extension added by
|
|
|
|
.Xr gzip 1 ,
|
|
|
|
.Xr compress 1 ,
|
|
|
|
or
|
|
|
|
.Xr bzip2 1 ,
|
|
|
|
and the leading
|
|
|
|
.Ql s.\&
|
|
|
|
or trailing
|
|
|
|
.Ql ,v
|
|
|
|
from a source code control system.
|
1994-05-27 12:33:43 +00:00
|
|
|
.Pp
|
1996-06-15 12:29:48 +00:00
|
|
|
The default path searched is the string returned by the
|
1994-05-27 12:33:43 +00:00
|
|
|
.Xr sysctl 8
|
|
|
|
utility for the
|
|
|
|
.Dq user.cs_path
|
Complete rewrite, once again.
This is basically a ``C compilation'' of the former whereis.pl file,
employing the same algorithms, and aiming at being mostly
UI-compatible to the old (legally tainted) 4.3BSD whereis(1). In
comparision, the 4.4BSD-Lite version is just another variant of
which(1) only, where in particular the option to search for source
directories is sorely missing.
While i was at it, i added two more options which i contemplated doing
long since. -x will suppress the run of locate(1) to find sources
that could not be found otherwise, potentially saving a lot of time
(but obviously, risking to not find some sources that are well hidden
in the tree). -q will omit the leading name of the query, so in
particular, you can now do something like:
cd `whereis -qs ls`
I'd explicitly like to thank johan for his review which was quite a
bit more than an average review, including sending me a lot of diffs.
Reviewed by: johan
2002-07-11 21:20:54 +00:00
|
|
|
string, with
|
Step 1 of eliminating the "games" distribution: Move binaries to /usr/bin;
update paths; and include everything in the "base" distribution.
The "games" distribution being optional made sense when there were more
games and we had small disks; but the "games-like" games were moved into
the ports tree a dozen years ago and the remaining "utility-like" games
occupy less than 0.001% of my laptop's small hard drive. Meanwhile every
new user is confronted by the question "do you want games installed" when
they they try to install FreeBSD.
The next steps will be:
2. Removing punch card (bcd, ppt), phase-of-moon (pom), clock (grdc), and
caesar cipher (caesar, rot13) utilities. I intend to keep fortune, factor,
morse, number, primes, and random, since there is evidence that those are
still being used.
3. Merging src/games into src/usr.bin.
This change will not be MFCed.
Reviewed by: jmg
Discussed at: EuroBSDCon
Approved by: gjb (release-affecting changes)
2015-02-12 05:35:00 +00:00
|
|
|
.Pa /usr/libexec
|
Complete rewrite, once again.
This is basically a ``C compilation'' of the former whereis.pl file,
employing the same algorithms, and aiming at being mostly
UI-compatible to the old (legally tainted) 4.3BSD whereis(1). In
comparision, the 4.4BSD-Lite version is just another variant of
which(1) only, where in particular the option to search for source
directories is sorely missing.
While i was at it, i added two more options which i contemplated doing
long since. -x will suppress the run of locate(1) to find sources
that could not be found otherwise, potentially saving a lot of time
(but obviously, risking to not find some sources that are well hidden
in the tree). -q will omit the leading name of the query, so in
particular, you can now do something like:
cd `whereis -qs ls`
I'd explicitly like to thank johan for his review which was quite a
bit more than an average review, including sending me a lot of diffs.
Reviewed by: johan
2002-07-11 21:20:54 +00:00
|
|
|
and the current user's
|
|
|
|
.Ev $PATH
|
2004-07-02 22:22:35 +00:00
|
|
|
appended.
|
|
|
|
Manual pages are searched by default along the
|
Complete rewrite, once again.
This is basically a ``C compilation'' of the former whereis.pl file,
employing the same algorithms, and aiming at being mostly
UI-compatible to the old (legally tainted) 4.3BSD whereis(1). In
comparision, the 4.4BSD-Lite version is just another variant of
which(1) only, where in particular the option to search for source
directories is sorely missing.
While i was at it, i added two more options which i contemplated doing
long since. -x will suppress the run of locate(1) to find sources
that could not be found otherwise, potentially saving a lot of time
(but obviously, risking to not find some sources that are well hidden
in the tree). -q will omit the leading name of the query, so in
particular, you can now do something like:
cd `whereis -qs ls`
I'd explicitly like to thank johan for his review which was quite a
bit more than an average review, including sending me a lot of diffs.
Reviewed by: johan
2002-07-11 21:20:54 +00:00
|
|
|
.Ev $MANPATH .
|
|
|
|
Program sources are located in a list of known standard places,
|
|
|
|
including all the subdirectories of
|
|
|
|
.Pa /usr/src
|
|
|
|
and
|
|
|
|
.Pa /usr/ports .
|
|
|
|
.Pp
|
|
|
|
The following options are available:
|
|
|
|
.Bl -tag -width indent
|
|
|
|
.It Fl B
|
2004-07-02 22:22:35 +00:00
|
|
|
Specify directories to search for binaries.
|
|
|
|
Requires the
|
Complete rewrite, once again.
This is basically a ``C compilation'' of the former whereis.pl file,
employing the same algorithms, and aiming at being mostly
UI-compatible to the old (legally tainted) 4.3BSD whereis(1). In
comparision, the 4.4BSD-Lite version is just another variant of
which(1) only, where in particular the option to search for source
directories is sorely missing.
While i was at it, i added two more options which i contemplated doing
long since. -x will suppress the run of locate(1) to find sources
that could not be found otherwise, potentially saving a lot of time
(but obviously, risking to not find some sources that are well hidden
in the tree). -q will omit the leading name of the query, so in
particular, you can now do something like:
cd `whereis -qs ls`
I'd explicitly like to thank johan for his review which was quite a
bit more than an average review, including sending me a lot of diffs.
Reviewed by: johan
2002-07-11 21:20:54 +00:00
|
|
|
.Fl f
|
|
|
|
option.
|
|
|
|
.It Fl M
|
2004-07-02 22:22:35 +00:00
|
|
|
Specify directories to search for manual pages.
|
|
|
|
Requires the
|
Complete rewrite, once again.
This is basically a ``C compilation'' of the former whereis.pl file,
employing the same algorithms, and aiming at being mostly
UI-compatible to the old (legally tainted) 4.3BSD whereis(1). In
comparision, the 4.4BSD-Lite version is just another variant of
which(1) only, where in particular the option to search for source
directories is sorely missing.
While i was at it, i added two more options which i contemplated doing
long since. -x will suppress the run of locate(1) to find sources
that could not be found otherwise, potentially saving a lot of time
(but obviously, risking to not find some sources that are well hidden
in the tree). -q will omit the leading name of the query, so in
particular, you can now do something like:
cd `whereis -qs ls`
I'd explicitly like to thank johan for his review which was quite a
bit more than an average review, including sending me a lot of diffs.
Reviewed by: johan
2002-07-11 21:20:54 +00:00
|
|
|
.Fl f
|
|
|
|
option.
|
|
|
|
.It Fl S
|
2004-07-02 22:22:35 +00:00
|
|
|
Specify directories to search for program sources.
|
|
|
|
Requires the
|
Complete rewrite, once again.
This is basically a ``C compilation'' of the former whereis.pl file,
employing the same algorithms, and aiming at being mostly
UI-compatible to the old (legally tainted) 4.3BSD whereis(1). In
comparision, the 4.4BSD-Lite version is just another variant of
which(1) only, where in particular the option to search for source
directories is sorely missing.
While i was at it, i added two more options which i contemplated doing
long since. -x will suppress the run of locate(1) to find sources
that could not be found otherwise, potentially saving a lot of time
(but obviously, risking to not find some sources that are well hidden
in the tree). -q will omit the leading name of the query, so in
particular, you can now do something like:
cd `whereis -qs ls`
I'd explicitly like to thank johan for his review which was quite a
bit more than an average review, including sending me a lot of diffs.
Reviewed by: johan
2002-07-11 21:20:54 +00:00
|
|
|
.Fl f
|
|
|
|
option.
|
2002-08-22 01:50:51 +00:00
|
|
|
.It Fl a
|
|
|
|
Report all matches instead of only the first of each requested type.
|
Complete rewrite, once again.
This is basically a ``C compilation'' of the former whereis.pl file,
employing the same algorithms, and aiming at being mostly
UI-compatible to the old (legally tainted) 4.3BSD whereis(1). In
comparision, the 4.4BSD-Lite version is just another variant of
which(1) only, where in particular the option to search for source
directories is sorely missing.
While i was at it, i added two more options which i contemplated doing
long since. -x will suppress the run of locate(1) to find sources
that could not be found otherwise, potentially saving a lot of time
(but obviously, risking to not find some sources that are well hidden
in the tree). -q will omit the leading name of the query, so in
particular, you can now do something like:
cd `whereis -qs ls`
I'd explicitly like to thank johan for his review which was quite a
bit more than an average review, including sending me a lot of diffs.
Reviewed by: johan
2002-07-11 21:20:54 +00:00
|
|
|
.It Fl b
|
|
|
|
Search for binaries.
|
|
|
|
.It Fl f
|
|
|
|
Delimits the list of directories after the
|
|
|
|
.Fl B ,
|
|
|
|
.Fl M ,
|
|
|
|
or
|
|
|
|
.Fl S
|
|
|
|
options, and indicates the beginning of the
|
|
|
|
.Ar program
|
|
|
|
list.
|
|
|
|
.It Fl m
|
|
|
|
Search for manual pages.
|
|
|
|
.It Fl q
|
|
|
|
.Pq Dq quiet .
|
|
|
|
Suppress the output of the utility name in front of the normal
|
|
|
|
output line.
|
|
|
|
This can become handy for use in a backquote substitution of a
|
|
|
|
shell command line, see
|
|
|
|
.Sx EXAMPLES .
|
|
|
|
.It Fl s
|
|
|
|
Search for source directories.
|
|
|
|
.It Fl u
|
|
|
|
Search for
|
|
|
|
.Dq unusual
|
2004-07-02 22:22:35 +00:00
|
|
|
entries.
|
|
|
|
A file is said to be unusual if it does not have at least
|
2002-08-22 01:50:51 +00:00
|
|
|
one entry of each requested type.
|
Complete rewrite, once again.
This is basically a ``C compilation'' of the former whereis.pl file,
employing the same algorithms, and aiming at being mostly
UI-compatible to the old (legally tainted) 4.3BSD whereis(1). In
comparision, the 4.4BSD-Lite version is just another variant of
which(1) only, where in particular the option to search for source
directories is sorely missing.
While i was at it, i added two more options which i contemplated doing
long since. -x will suppress the run of locate(1) to find sources
that could not be found otherwise, potentially saving a lot of time
(but obviously, risking to not find some sources that are well hidden
in the tree). -q will omit the leading name of the query, so in
particular, you can now do something like:
cd `whereis -qs ls`
I'd explicitly like to thank johan for his review which was quite a
bit more than an average review, including sending me a lot of diffs.
Reviewed by: johan
2002-07-11 21:20:54 +00:00
|
|
|
Only the name of the unusual entry is printed.
|
|
|
|
.It Fl x
|
|
|
|
Do not use
|
|
|
|
.Dq expensive
|
|
|
|
tools when searching for source directories.
|
|
|
|
Normally, after unsuccessfully searching all the first-level
|
|
|
|
subdirectories of the source directory list,
|
|
|
|
.Nm
|
|
|
|
will ask
|
|
|
|
.Xr locate 1
|
|
|
|
to find the entry on its behalf.
|
|
|
|
Since this can take much longer, it can be turned off with
|
|
|
|
.Fl x .
|
|
|
|
.El
|
|
|
|
.Sh EXAMPLES
|
|
|
|
The following finds all utilities under
|
|
|
|
.Pa /usr/bin
|
|
|
|
that do not have documentation:
|
|
|
|
.Pp
|
|
|
|
.Dl whereis -m -u /usr/bin/*
|
|
|
|
.Pp
|
|
|
|
Change to the source code directory of
|
|
|
|
.Xr ls 1 :
|
|
|
|
.Pp
|
|
|
|
.Dl cd `whereis -sq ls`
|
1994-05-27 12:33:43 +00:00
|
|
|
.Sh SEE ALSO
|
Complete rewrite, once again.
This is basically a ``C compilation'' of the former whereis.pl file,
employing the same algorithms, and aiming at being mostly
UI-compatible to the old (legally tainted) 4.3BSD whereis(1). In
comparision, the 4.4BSD-Lite version is just another variant of
which(1) only, where in particular the option to search for source
directories is sorely missing.
While i was at it, i added two more options which i contemplated doing
long since. -x will suppress the run of locate(1) to find sources
that could not be found otherwise, potentially saving a lot of time
(but obviously, risking to not find some sources that are well hidden
in the tree). -q will omit the leading name of the query, so in
particular, you can now do something like:
cd `whereis -qs ls`
I'd explicitly like to thank johan for his review which was quite a
bit more than an average review, including sending me a lot of diffs.
Reviewed by: johan
2002-07-11 21:20:54 +00:00
|
|
|
.Xr find 1 ,
|
|
|
|
.Xr locate 1 ,
|
|
|
|
.Xr man 1 ,
|
1998-08-31 16:41:09 +00:00
|
|
|
.Xr which 1 ,
|
1996-06-15 12:29:48 +00:00
|
|
|
.Xr sysctl 8
|
1994-05-27 12:33:43 +00:00
|
|
|
.Sh HISTORY
|
|
|
|
The
|
2000-11-20 19:21:22 +00:00
|
|
|
.Nm
|
2002-07-14 15:12:00 +00:00
|
|
|
utility appeared in
|
1996-06-15 12:29:48 +00:00
|
|
|
.Bx 3.0 .
|
Complete rewrite, once again.
This is basically a ``C compilation'' of the former whereis.pl file,
employing the same algorithms, and aiming at being mostly
UI-compatible to the old (legally tainted) 4.3BSD whereis(1). In
comparision, the 4.4BSD-Lite version is just another variant of
which(1) only, where in particular the option to search for source
directories is sorely missing.
While i was at it, i added two more options which i contemplated doing
long since. -x will suppress the run of locate(1) to find sources
that could not be found otherwise, potentially saving a lot of time
(but obviously, risking to not find some sources that are well hidden
in the tree). -q will omit the leading name of the query, so in
particular, you can now do something like:
cd `whereis -qs ls`
I'd explicitly like to thank johan for his review which was quite a
bit more than an average review, including sending me a lot of diffs.
Reviewed by: johan
2002-07-11 21:20:54 +00:00
|
|
|
This version re-implements the historical
|
|
|
|
functionality that was lost in
|
|
|
|
.Bx 4.4 .
|
|
|
|
.Sh AUTHORS
|
|
|
|
This implementation of the
|
|
|
|
.Nm
|
|
|
|
command was written by
|
|
|
|
.An J\(:org Wunsch .
|
|
|
|
.Sh BUGS
|
|
|
|
This re-implementation of the
|
|
|
|
.Nm
|
|
|
|
utility is not bug-for-bug compatible with historical versions.
|
|
|
|
It is believed to be compatible with the version that was shipping with
|
|
|
|
.Fx 2.2
|
|
|
|
through
|
|
|
|
.Fx 4.5
|
|
|
|
though.
|
2002-08-22 01:50:51 +00:00
|
|
|
.Pp
|
|
|
|
The
|
|
|
|
.Nm
|
|
|
|
utility can report some unrelated source entries when the
|
|
|
|
.Fl a
|
|
|
|
option is specified.
|