Se ti stai chiedendo dove si trova esattamente un determinato programma, usa semplicemente quale su di esso. Il comando which individua un file eseguibile nel percorso di ricerca della shell.
Questo comando Linux ha una sintassi semplice:
which [-a] filename
Vediamo come utilizzare questo semplice ma utile comando.
Linux che comanda esempi
Diciamo che vuoi sapere dove si trova l'eseguibile Java, usa quale comando:
which java
L'output potrebbe essere questo:
[email protected]:~$ which java
/usr/bin/java
Nota che funziona solo su file eseguibili. Quindi dovresti usarlo solo con l'argomento che puoi eseguire. Ad esempio, installi Java tramite il pacchetto JDK ma non esegui un comando chiamato "jdk", esegui "java". Quindi usi quale comando su java, non jdk.
Se il comando which non trova l'eseguibile nel percorso corrente, non restituisce nulla.
Utilizzare quale comando con più file eseguibili
Puoi fornire più di un argomento a quale comando:
which man java python nada
L'output per me era:
[email protected]:~$ which man java python nada
/usr/bin/man
/usr/bin/java
/usr/bin/python
Hai notato qualcosa qui? Gli ho fornito quattro argomenti ma il risultato viene visualizzato solo per tre di essi. È perché "nada" non è un eseguibile. Non c'è output per quello.
Visualizza tutti i percorsi con quale comando
Il comando which in Linux ha solo un'opzione, -a. Per impostazione predefinita, quale comando stampa solo un percorso per i suoi argomenti.
Se un programma ha un eseguibile in due posti, diciamo in /usr/bin/program e in /usr/local/bin/program, puoi visualizzare entrambi i percorsi usando l'opzione -a.
which -a <program_name>
Stato di uscita di quale comando
Se usi quale comando in uno script bash, potresti aver bisogno di conoscerne lo stato di uscita.
Quale comando ha il seguente stato di uscita:
- 0 – tutti gli argomenti sono trovati ed eseguibili
- 1 – uno o più argomenti sono inesistenti o non eseguibili
- 2 – se viene specificata un'opzione non valida
Questo è tutto ciò che devi sapere su quale comando in Linux. Se hai domande o suggerimenti, faccelo sapere nei commenti qui sotto.