Linux / UNIX: Determine where a binary command is stored / located on file system

Posted on in Categories FreeBSD, Howto, Linux, Solaris, UNIX last updated August 29, 2007

You can use “type” or “whereis” command to find out which command shell executes and to print binary (command) file location for specified command.

whereis command example

Display ls command location along with man page path:
whereis ls
Output:
ls: /bin/ls /usr/share/man/man1p/ls.1p.gz /usr/share/man/man1/ls.1.gz

type command example

Find out which command the shell executes:
type -a ls
Output:
ls is aliased to `ls –color=tty’
ls is /bin/ls

Related: How Linux or UNIX Understand which program to run – PART I and How BASH Shell Command Search Sequence Works

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin and a trainer for the Linux operating system/Unix shell scripting. He has worked with global clients and in various industries, including IT, education, defense and space research, and the nonprofit sector. Follow him on Twitter, Facebook, Google+.

4 comment

  1. i access my server through sshd using putty but after a certain period of time the port on which sshd is open is closed automatically.
    i am not able to figure out this problem.
    please help me thanks in advance

    1. Typically programs have a version command line option to print the version number. Try running ‘program -v’ or ‘program –version’. Some binary files on your system are actually a link to a specific version of that program. For example, on my system, /usr/bin/python is a link to python-2.7, so I know that I have python version 2.7. (to see if a file is a link run ‘ls -l /path/to/file’ and it will have a ‘l’ at the beginging of the line, and have an arrow at the end followed by the file that the link points to).

Leave a Comment