La commande which affiche le chemin complet d'une commande spécifiée en recherchant les répertoires affectés à la variable PATH. Par exemple, lors de la saisie de quel chat, la sortie suivante s'affiche :/bin/cat.
$ which cat /bin/cat
La commande which peut donc vous aider à localiser où un programme a été installé au cas où vous auriez besoin de le modifier. Cela peut également vous aider à identifier la version d'une commande que vous utilisez s'il existe plusieurs fichiers binaires de la commande stockés à différents emplacements, dont l'un peut être plus idéal. En identifiant d'où s'exécute une commande, vous pouvez résoudre un comportement inattendu de cette commande.
Syntaxe
La syntaxe de la commande which est :
$ which [options] {program names}
Si vous rencontrez l'erreur ci-dessous lors de l'exécution de la commande which :
which: command not found
vous pouvez essayer d'installer le package ci-dessous selon votre choix de distribution :
Répartition | Commande |
---|---|
OS X | installer debianutils |
Debian | apt-get install debianutils |
Ubuntu | apt-get install npm |
Alpin | apk ajouter lequel |
Arch Linux | pacman -S qui |
Kali Linux | apt-get install debianutils |
CentOS | yum installer lequel |
Fédora | dnf installer lequel |
Raspbian | apt-get install debianutils |
quels exemples de commande
1. Recherchez la variable d'environnement PATH et affichez l'emplacement de tous les exécutables correspondants :
$ which executable
2. Si plusieurs exécutables correspondent, affichez-les tous :
$ which -a executable
Réflexions finales
La commande which localise un fichier exécutable dans le chemin de recherche de votre shell. Vous pouvez même trouver le programme lui-même :
$ which which /usr/bin/which
Si plusieurs programmes de votre chemin de recherche portent le même nom (par exemple, /usr/bin/who et /usr/local/bin/who), qui ne signale que le premier.