Nossa, cada dia que passa esse fórum me deixa mais culto
Quando ao which, amigo Marcopolo, não tem muito o que debulhar, ele é somente isso que eu mencionei, devolve o caminho completo de um executável que se encontra dentro do PATH. Eu mencionei ele só por achar interessante saber onde se localiza um executável qualquer que vc acessa direto.
Aprendi o which no dia em que fiz um upgrade manual do java. O instalador descompactou tudo, instalou e jogou no PATH o caminho para o executável. Mas depois disso não sabia pq meu java -version ainda acusava a versão anterior. Olhei o PATH e ele estava mais ou menos assim:
$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11:/usr/games:/usr/lib/j2sdk1.5-sun/bin:
O diretório do java estava especificado corretamente, então pq ele ainda apontava para velho??? Foi aí que esbarrei sem querer no which:
$ which java
/usr/bin/java
Então eu percebi que ele estava buscando o primeiro java que encontrava, no caso a versão antiga, pois no meu PATH o diretório da versão antiga vinha na frente do local da versão nova. Então eu inverti a posição do PATH
$ echo $PATH
/usr/lib/j2sdk1.5-sun/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11:/usr/games
E pronto, novo java em execução:
$ which java
/usr/lib/j2sdk1.5-sun/bin/java