Si vous vous demandez où se trouve exactement un certain programme, utilisez simplement lequel. La commande which localise un fichier exécutable dans le chemin de recherche de votre shell.
Cette commande Linux a une syntaxe simple :
which [-a] filename
Voyons comment utiliser cette commande simple mais utile.
Linux qui commande des exemples
Disons que vous voulez savoir où se trouve l'exécutable Java, utilisez quelle commande :
which java
Le résultat pourrait ressembler à ceci :
[email protected]:~$ which java
/usr/bin/java
Notez celui qui ne fonctionne que sur les fichiers exécutables. Vous ne devez donc l'utiliser qu'avec l'argument que vous pouvez exécuter. Par exemple, vous installez Java via le package JDK mais vous n'exécutez pas une commande appelée "jdk", vous exécutez "java". Donc, vous utilisez quelle commande sur java, pas jdk.
Si la commande which ne trouve pas l'exécutable dans le chemin actuel, elle ne renvoie rien.
Utiliser quelle commande avec plusieurs fichiers exécutables
Vous pouvez fournir plus d'un argument à quelle commande :
which man java python nada
Le résultat pour moi était :
[email protected]:~$ which man java python nada
/usr/bin/man
/usr/bin/java
/usr/bin/python
Avez-vous remarqué quelque chose ici? Je lui ai donné quatre arguments mais le résultat n'est affiché que pour trois d'entre eux. C'est parce que "nada" n'est pas un exécutable. Il n'y a pas de sortie pour cela.
Afficher tous les chemins avec quelle commande
La commande qui sous Linux n'a qu'une seule option, -a. Par défaut, quelle commande imprime un seul chemin d'accès pour ses arguments.
Si un programme a un exécutable à deux endroits, disons dans /usr/bin/program et dans /usr/local/bin/program, vous pouvez afficher les deux chemins en utilisant l'option -a.
which -a <program_name>
État de sortie de quelle commande
Si vous utilisez quelle commande dans un script bash, vous devrez peut-être connaître son état de sortie.
Quelle commande a le statut de sortie suivant :
- 0 - tous les arguments sont trouvés et exécutables
- 1 - un ou plusieurs arguments sont inexistants ou non exécutables
- 2 - si une option non valide est spécifiée
C'est tout ce que vous devez savoir sur quelle commande sous Linux. Si vous avez des questions ou des suggestions, faites-le moi savoir dans les commentaires ci-dessous.