Par exemple, j'ai git
installé sur mon système. Mais je ne me souviens pas où je l'ai installé, alors quelle commande est appropriée pour le savoir?
Par exemple, j'ai git
installé sur mon système. Mais je ne me souviens pas où je l'ai installé, alors quelle commande est appropriée pour le savoir?
Réponses:
Si cela se trouve sur votre chemin, vous pouvez exécuter l’un type git
ou l’ autre which git
. La which
commande a eu des problèmes pour obtenir le chemin correct (confusion entre l'environnement et les fichiers de points). Car type
, vous pouvez obtenir uniquement le chemin avec l' -p
argument.
Si ce n'est pas dans votre chemin, alors il vaut mieux le chercher avec locate -b git
Il trouvera quelque chose qui s'appelle 'git'. Ce sera une longue liste, alors il serait peut-être bon de la qualifier locate -b git | fgrep -w bin
.
locate
sans fin (c'est très rapide), mais pour ceux qui l'ignorent, elle locate
est aussi à jour que sa mise à jour de base de données la plus récente, qui est automatiquement exécutée quotidiennement sur mon Ubuntu. La commande de rafraîchissement est sudo updatedb
... locate
Possède également une fonctionnalité regex intégrée. Par conséquent, les commandes telles que celle-ci fonctionnent: locate -br "^git$"
... -b` signifie que la recherche est limitée au nom de base ... ou sans le nom -b
, elle recherche le chemin complet .. , il recherche uniquement les chemins que vous avez configurés pour la recherche. Il n’existe aucun contrôle de ligne de commande de cette commande autre que vos filtres regex.
type
s'agit d'un shell intégré qui me dit des alias, etc., et d' which
un programme externe qui me montre le chemin d'accès à un exécutable ... même s'il y a un intégré qui entre dans le façon que l'exécutable ne soit pas appelé.
which
c'est qu'il ne connaît pas les fonctions intégrées au shell (ce qui est pertinent lorsque vous vous demandez ce que vous ferez de la commande), et utilise un système différent $PATH
sur certains systèmes.
La méthode standard pour faire cela est POSIXcommand -v git
. Tous les systèmes de type UNIX devraient le supporter.
whereis git
et vous obtenez le chemin d'accès à la commande.
c'est simplement si le git est dans votre variable PATH, au cas où vous ne l'avez pas installé via votre gestionnaire de paquets, il est plus complexe et vous devez utiliser les commandes find
ou locate
.
which
est également encouragée.
Les autres réponses semblent ici être orientées principalement vers des versions modernes de Linux, donc si vous arrive d'utiliser git
sur un système d' exploitation qui ne dispose pas locate
, whereis
, which
ou apropos
(comme Solaris, HPUX, etc.), alors il y a toujours la vieille veille find
.
find / -name git
Parmi les anciennes versions des systèmes répertoriés ci-dessus, vous aurez peut-être besoin d'une -print
option fournie find
.
find / -name git -print
Et si vous utilisez locate
, assurez-vous de courir updatedb
périodiquement. ( locate.updatedb
sur certains dérivés de BSD)
type
; il est fiable et portable (sauf pour les systèmes vieux de 30 ans).
type
. :) Ça va définitivement dans le répertoire!
find
effectuez une recherche complète en profondeur du système de fichiers, à partir de l’endroit où vous le localisez. Alors find / -name git
traversera tout votre système. Si vous savez que le programme est sur votre chemin, vous pouvez généralement le faire IFS=":"; path=$PATH; set $path; for dir in $path; do find $dir -name git; done
, bien que les systèmes de fichiers Unix soient suffisamment permissifs pour que cela puisse casser de différentes manières si vous avez des caractères étranges dans votre fichier PATH
.
PATH
, la chose correcte (avec les mêmes mises en garde qu'avant) est IFS=":"; for dir in $PATH; do find "$dir" -name git; done
. En outre, pour réitérer, cette réponse ne devrait être utilisée que par des personnes qui n'ont pas accès à type
ou, which
ou locate
presque, à personne. La réponse de @ Arcege est correcte.
Pour obtenir le chemin du programme installé, utilisez whereis
ou which
. Si vous oubliez son nom, vous pouvez utiliser apropos
un synonyme ou une description de votre utilitaire, par exemple apropos "version control"
, find git
. La whatis
commande suivante résume bien sûr la fonction d’un programme. Cela ne s'applique toutefois pas à tous les programmes et fonctions de votre système. Essayez par exemple whatis "the meaning of life, universe and everything"
.
which
commandement" en effet :)