Quelle est la différence entre whichet whereis?
whichet whereisune sortie différente (sur macOS Sierra) apple.stackexchange.com/questions/259047/…
typesupérieur. Il connaît également des alias définis, des fonctions, etc.
Quelle est la différence entre whichet whereis?
whichet whereisune sortie différente (sur macOS Sierra) apple.stackexchange.com/questions/259047/…
typesupérieur. Il connaît également des alias définis, des fonctions, etc.
Réponses:
Que diriez-vous d'apprendre whereiset d' whichutiliser 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
Fondamentalement, whereisrecherche des fichiers «éventuellement utiles», alors que whichseuls les exécutables sont recherchés.
Je l'utilise rarement whereis. D'autre part, whichest très utile, spécialement dans les scripts. whichest 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
whereis, pas celui pour which.
whichmontre le chemin réel. Êtes-vous sûr que le chemin indiqué par whichn'est pas simplement un lien symbolique au chemin indiqué par whereis? Peut-être que c'est un alias de shell. En bash, essayez de courir type your_cmd_here.
whereis recherche les emplacements standard * nix pour une commande spécifiée.
whichrecherche dans votre PATH spécifique à l'utilisateur (qui peut inclure certains des emplacements où des recherches sont effectuées, mais peut ne pas en inclure d'autres - il peut également inclure des emplacements qui whereisn'effectuent pas de recherche si vous avez ajouté à votre PATH)
Citant leurs pages de manuel:
où est :
whereis localise les sections source / binary et les 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 quelques autres choses (comme des pages de manuel).
et qui :
qui renvoie les noms de chemin des fichiers qui seraient exécutés dans l'environnement actuel
Par exemple :
$ which php
/usr/bin/php
c'est-à-dire, seulement l'exécutable "php".
qui recherchent des exécutables dans les répertoires spécifiés par la variable d’environnement PATH. Et s’il est au courant, le chemin complet de cet exécutable sera imprimé.
$ which ls
/ bin / ls
$ ifconfig
$ # Aucune sortie, car ifconfig n'existe que dans le chemin PATH de la racine.
Whereis recherche les exécutables, les fichiers sources et les pages de manuel à l'aide d'une base de données créée 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 whereis et localiser ne pas utiliser la même base de données. Lorsque j’ai installé un logiciel et que j’ai utilisé whereis et localiser immédiatement pour rechercher ce logiciel. Le résultat est que, où pourrait trouver certains fichiers liés à ce logiciel alors que localiser ne le pouvait pas. Utilisent-ils vraiment une base de données différente? Comment fonctionne la base de données? - Bon, pourquoi ne pas refuser d'être pédant? :)