UNIX has utilities like and to look for a command on the system. But whereis doesn't look in your shell's search path, so it may not find shell scripts in local system directories or your . And to use which, you have to know the exact name of the command, because which only shows the first command with that name in your path.
If you're like me, you can't always remember the name of the command you're looking for. "Wasn't it called reference or refer or something like that?" The findcmd script saves me a lot of guessing. It shows all command names, in all directories in my search path, that contain some string. So, I'll look for command names that have "ref" in them:
findcmd ref/home/jerry/.bin/zrefile /usr/bin/X11/xrefresh /usr/local/bin/grefer /bin/cxref /bin/refer /usr/bin/cxref /usr/bin/refer ./preferences
|findcmd||After a couple of tries, I usually find the command I want. The findcmd script is on the CD-ROM.|
First, the script edits a copy of your
Next, a colon (
:) in the
variable lets the shell split the PATH at the colons;
steps through each directory in the PATH
and runs ls -l to find matching files.
script reads through the output of all the ls
commands in the loop, editing and printing matching lines (executable files with
the program name we want).