For example, I have
git installed on my system.
But I don't remember where I installed it, so which command is fit to find this out?
If it is in your path, then you can run either
type git or
which git. The
which command has had problems getting the proper path (confusion between environment and dot files). For
type, you can get just the path with the
If it is not in your path, then it's best to look for it with
locate -b git It will find anything named 'git'. It'll be a long list, so might be good to qualify it with
locate -b git | fgrep -w bin.
The POSIX standard way to do this is
command -v git. All UNIX-like systems should support this.
whereis git and you get the path to the command.
that is just if the git is in you PATH variable, in case you have installed it not through you package manager, it is more complex and you should use the
The other answers here seem to be largely geared towards modern versions of Linux, so if you happen to use
git on an OS that doesn't have
apropos (like Solaris, HPUX, etc), then there is always the old standby
find / -name git
One some older versions of the systems listed above, you may need a
find / -name git -print
And if you do use
locate, make sure you run
updatedb periodically. (
locate.updatedb on some BSD derivatives)
To get the path to the installed program you either use
which. If you happen to forget it's name, you can use
apropos with a synonym or description of your utility, e.g.
apropos "version control" will find
git. Following that is of course the
whatis command to briefly summarize the function of a program. This does however not apply to all programs and functions on your system. Try for instance
whatis "the meaning of life, universe and everything".