Quelle est la différence entre which
y whereis
?
Réponses
Trop de publicités?Que diriez-vous d'apprendre whereis
y which
en utilisant whatis
?
$ 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 "potentiellement utiles", tandis que which
ne recherche que les exécutables.
J'utilise rarement whereis
. D'autre part, which
est très utile, notamment dans les scripts. which
est la réponse à la question suivante : D'où vient ce commandement ?
$ which ls
/bin/ls
$ whereis ls
ls: /bin/ls /usr/share/man/man1p/ls.1p.bz2 /usr/share/man/man1/ls.1.bz2
whereis
recherche les emplacements standards *nix pour une commande spécifiée.
which
recherche dans votre PATH spécifique à l'utilisateur (qui peut inclure certains des emplacements recherchés par whereis, et peut ne pas en inclure d'autres - il peut également inclure certains emplacements que le programme whereis
ne cherche pas si vous l'avez ajouté à votre PATH)
En citant leurs pages de manuel :
whereis localise la source/binaire et les sections de manuels pour les fichiers spécifiés.
Par exemple :
$ whereis php
php: /usr/bin/php /usr/share/php /usr/share/man/man1/php.1.gz
c'est-à-dire l'exécutable "php", et d'autres choses (comme les pages de manuel).
y どの :
qui renvoie les noms de chemin des qui seraient exécutés dans l'environnement environnement actuel
Par exemple :
$ which php
/usr/bin/php
c'est-à-dire, seulement l'exécutable "php".
どの recherche les exécutables dans les répertoires spécifiés par la variable d'environnement PATH. Et s'il est trouvé, le nom de chemin complet de cet exécutable sera imprimé.
$ which ls
/bin/ls
$ which ifconfig
$ # Pas de sortie, car ifconfig n'existe que dans le PATH de root.
où se trouve rechercher des exécutables, des fichiers sources et des pages de manuel à l'aide d'une base de données construite automatiquement par le système.
$ whereis less
less: /bin/less /usr/bin/less /usr/bin/X11/less /usr/share/man/man1/less.1.gz
Mais il semble que où se trouve y localiser n'utilisent pas la même base de données. Lorsque j'ai installé un logiciel et que j'ai ensuite utilisé où se trouve y localiser immédiatement pour rechercher ce logiciel. Le résultat est que où se trouve a pu trouver certains fichiers liés à ce logiciel alors que localiser ne pouvait pas. Utilisent-ils vraiment une base de données différente ? Comment fonctionne la base de données ? --Et si vous refusiez d'être pédant :)