J'utilise la commande whereis rm
$ whereis rm
/bin/rm
Ensuite, j'essaie which rm
$ which rm
/usr/local/opt/coreutils/libexec/gnubin/rm
Les résultats sont différents… alors quel rm
sera appelé lorsque j'exécuterai une commande telle que rm readme
?
Réponse acceptée :
Cette réponse sur Super User par Denilson Sá Maia peut être utile :
which
recherche votre PATH spécifique à l'utilisateur (qui peut inclure certains des emplacements où est recherché, et peut ne pas en inclure d'autres - il peut également inclure certains endroits oùwhereis
ne recherche pas si vous avez ajouté à votre PATH).
whereis
recherche les emplacements standard *nix pour une commande spécifiée.$ whatis which which (1) - shows the full path of (shell) commands $ whatis whereis whereis (1) - locate the binary, source, and manual page files for a command
En gros,
whereis
recherche les fichiers "éventuellement utiles", tandis quewhich
ne recherche que les exécutables.J'utilise rarement
whereis
. D'autre part,which
est très utile, spécialement dans les scripts.which
est la réponse à la question suivante :D'où vient cette commande ?$ which ls /bin/ls $ whereis ls ls: /bin/ls /usr/share/man/man1p/ls.1p.bz2 /usr/share/man/man1/ls.1.bz2