Zum Beispiel habe ich git
auf meinem System installiert. Aber ich kann mich nicht erinnern, wo ich es installiert habe. Welcher Befehl ist also geeignet, um dies herauszufinden?
Zum Beispiel habe ich git
auf meinem System installiert. Aber ich kann mich nicht erinnern, wo ich es installiert habe. Welcher Befehl ist also geeignet, um dies herauszufinden?
Antworten:
Wenn es sich in Ihrem Pfad befindet, können Sie entweder type git
oder ausführen which git
. Der which
Befehl hatte Probleme, den richtigen Pfad zu ermitteln (Verwechslung zwischen Umgebungs- und Punktedateien). Für type
können Sie nur den Pfad mit dem -p
Argument erhalten.
Wenn es nicht auf Ihrem Weg ist, suchen locate -b git
Sie es am besten mit Es wird alles mit dem Namen "git" finden. Es wird eine lange Liste sein, also könnte es gut sein, sich damit zu qualifizieren locate -b git | fgrep -w bin
.
locate
endlos (es ist sehr schnell), aber für diejenigen, die es nicht wissen, locate
ist es nur so aktuell wie sein letztes Datenbank-Update, das auf meinem Ubuntu automatisch täglich ausgeführt wird. Der Refresh - Befehl ist sudo updatedb
... Auch locate
hat eingebaute regex Fähigkeit, so Befehle funktionieren wie folgt: locate -br "^git$"
... -b` Mittel , um die Suche auf nur die Filterung des Basisnamen ... oder ohne -b
, sucht er den vollständigen Pfad .. Auch sucht nur nach Pfaden, die Sie für die Suche konfiguriert haben. Es gibt keine andere Befehlszeilensteuerung als Ihre Regexfilter.
type
ist eine eingebaute Shell, die mir Aliasnamen und dergleichen sagt, und which
ein externes Programm, das mir den Pfad zu einer ausführbaren Datei zeigt ... obwohl, wenn es eine eingebaute Datei gibt, die in die kommt So wird die ausführbare Datei nicht aufgerufen.
which
sind, dass es nicht über Shell-Integrationen und -Funktionen Bescheid weiß (was relevant ist, wenn Sie sich fragen, was die Eingabe des Befehls bewirken wird), und dass es $PATH
auf einigen Systemen eine andere Methode verwendet.
Die POSIX-Standardmethode hierfür ist command -v git
. Alle UNIX-ähnlichen Systeme sollten dies unterstützen.
whereis git
und Sie erhalten den Pfad zum Befehl.
Das heißt, wenn sich der Git in Ihrer PATH-Variablen befindet und Sie ihn nicht über Ihren Paketmanager installiert haben, ist er komplexer und Sie sollten den Befehl find
oder verwenden locate
.
which
wird ebenfalls empfohlen.
Die anderen Antworten hier scheinen weitgehend auf moderne Versionen von Linux ausgerichtet werden, so dass , wenn Sie geschehen , verwenden git
auf einem Betriebssystem , das nicht über locate
, whereis
, which
, oder apropos
(wie Solaris, HP - UX, etc), dann gibt es immer die alte Standby find
.
find / -name git
Bei einigen älteren Versionen der oben aufgeführten Systeme ist möglicherweise eine -print
Option erforderlich find
.
find / -name git -print
Und wenn Sie verwenden locate
, stellen Sie sicher, dass Sie updatedb
regelmäßig ausgeführt werden. ( locate.updatedb
bei einigen BSD-Derivaten)
type
für Programme im Pfad ; Es ist zuverlässig und portabel (außer für 30 Jahre alte Systeme).
type
. :) Das gehört definitiv zum Repertoire!
find
eine vollständige Tiefensuche des Dateisystems von jedem Ort aus durchgeführt wird, an dem Sie das Stammverzeichnis haben. So find / -name git
wird Ihr gesamtes System durchlaufen. Wenn Sie wissen, dass sich das Programm auf Ihrem Pfad befindet, können Sie dies in der Regel tun IFS=":"; path=$PATH; set $path; for dir in $path; do find $dir -name git; done
, obwohl Unix-Dateisysteme so tolerant sind, dass dies auf verschiedene Arten zu Fehlern führen kann, wenn Sie seltsame Zeichen in Ihrem Verzeichnis haben PATH
.
PATH
, das Richtige (mit den gleichen Vorbehalten wie zuvor) ist IFS=":"; for dir in $PATH; do find "$dir" -name git; done
. Außerdem sollte diese Antwort, um es noch einmal zu wiederholen, nur von Personen verwendet werden, die keinen Zugang zu type
oder which
oder locate
, dh fast niemandem, haben. @ Arceges Antwort ist richtig.
Um den Pfad zum installierten Programm zu erhalten, verwenden Sie entweder whereis
oder which
. Wenn Sie den Namen vergessen, können Sie ihn apropos
mit einem Synonym oder einer Beschreibung Ihres Dienstprogramms verwenden, z . B. apropos "version control"
finden git
. Danach folgt natürlich der whatis
Befehl, die Funktion eines Programms kurz zusammenzufassen. Dies gilt jedoch nicht für alle Programme und Funktionen auf Ihrem System. Versuchen Sie es zum Beispiel whatis "the meaning of life, universe and everything"
.
which
Befehl" in der Tat :)