Il comando which visualizza il percorso completo di un comando specificato cercando nelle directory assegnate alla variabile PATH. Ad esempio, inserendo quale cat, viene visualizzato il seguente output:/bin/cat.
$ which cat /bin/cat
Il comando which può quindi aiutarti a individuare dove è stato installato un programma nel caso in cui sia necessario modificarlo. Può anche aiutarti a identificare quale versione di un comando stai utilizzando se sono presenti più file binari del comando archiviati in posizioni diverse, una delle quali potrebbe essere più ideale. Identificando da dove viene eseguito un comando, puoi risolvere il comportamento imprevisto di quel comando.
Sintassi
La sintassi del comando which è:
$ which [options] {program names}
Se riscontri un errore di seguito durante l'esecuzione del comando which:
which: command not found
puoi provare a installare il pacchetto seguente secondo la tua scelta di distribuzione:
Distribuzione | Comando |
---|---|
OS X | brew install debianutils |
Debian | apt-get install debianutils |
Ubuntu | apt-get install npm |
Alpino | apk aggiungi quale |
Arci Linux | pacman -S quale |
Kali Linux | apt-get install debianutils |
CentOS | yum installa quale |
Fedora | dnf installa quale |
Raspbian | apt-get install debianutils |
quali esempi di comandi
1. Cerca nella variabile di ambiente PATH e visualizza la posizione di eventuali eseguibili corrispondenti:
$ which executable
2. Se sono presenti più eseguibili corrispondenti, visualizza tutti:
$ which -a executable
Pensieri finali
Il comando which individua un file eseguibile nel percorso di ricerca della shell. Puoi persino trovare il programma stesso:
$ which which /usr/bin/which
Se più programmi nel tuo percorso di ricerca hanno lo stesso nome (ad esempio, /usr/bin/who e /usr/local/bin/who), che riporta solo il primo.