Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

Is there a command I can use to easily find the path to an executable? I'm looking for identify on my local machine - something like pwd?

pwd identify
=> /usr/local/bin/identify
share|improve this question
add comment

3 Answers

up vote 17 down vote accepted

which will search your path for the arguments you supply, it's found on just about any BSD or SysV UNIX

moriarty:~ dave$ which bash true false
share|improve this answer
The which command though will work is generally not the right tool to use to do this type of work. See this U&L Q&A: unix.stackexchange.com/questions/85249/… –  slm Nov 8 '13 at 22:13
add comment

If you use the bash builtin type, it will show you all the (in-path) locations for a command:

$ type -a ls
ls is aliased to `ls --color=always'
ls is /bin/ls

$ type -a printf
printf is a shell builtin
printf is /usr/bin/printf

$ type -a touch
touch is /usr/bin/touch
touch is /bin/touch

If the command is a function, it will list the function definition:

$ type -a somefunc
somefunc is a function
somefunc ()
    echo "hello, world"

These examples are from a Ubuntu system, but the results will be similar for OS X.

share|improve this answer
add comment

try 'locate identify'

share|improve this answer
This works when "which" won't because the executable is not in your current PATH, but also tends to spew a lot of stuff you don't want. First path filter: "locate command | grep bin". Use "which" first. –  dmckee Jun 12 '09 at 14:32
that's a good call, thanks. –  Chopper3 Jun 12 '09 at 14:40
add comment

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.