In diesem Tutorial behandeln wir Linux which Befehl.
Linux which Der Befehl wird verwendet, um den Speicherort einer bestimmten ausführbaren Datei zu identifizieren, die ausgeführt wird, wenn Sie den Namen der ausführbaren Datei (Befehl) in die Terminal-Eingabeaufforderung eingeben. Der Befehl sucht nach der als Argument angegebenen ausführbaren Datei in den Verzeichnissen, die in der Umgebungsvariable PATH aufgelistet sind.
Was ist PATH #
Unter Linux PATH ist eine Umgebungsvariable, die der Shell und anderen Programmen mitteilt, in welchen Verzeichnissen nach ausführbaren Dateien gesucht werden soll. Es besteht aus einer Liste von durch Doppelpunkte getrennten absoluten Pfaden zu Verzeichnissen, die die ausführbaren Dateien enthalten.
Um den Inhalt Ihrer PATH-Variablen anzuzeigen, verwenden Sie den echo-Befehl mit $PATH als Argument:
echo $PATH Die Ausgabe sieht in etwa so aus:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Verwendung des which-Befehls #
Die Syntax für which Befehl lautet wie folgt:
which [OPTIONS] FILE_NAME...
Um beispielsweise den vollständigen Pfad des Ping-Befehls zu finden, würden Sie Folgendes eingeben:
which ping Die Ausgabe sieht in etwa so aus:
/bin/ping
Sie können auch mehr als ein Argument für which angeben Befehl:
which netcat uptime
Die Ausgabe enthält vollständige Pfade zu beiden netcat und uptime ausführbare Dateien:
/bin/netcat
/usr/bin/uptime
Die Suche erfolgt von links nach rechts, und wenn mehr als eine Übereinstimmung in den Verzeichnissen gefunden wird, die im PATH aufgeführt sind Pfadvariable, which druckt nur die erste. Um alle Übereinstimmungen auszudrucken, verwenden Sie -a Möglichkeit:
which -a touch
Die Ausgabe zeigt zwei vollständige Pfade zum touch Befehl:
/usr/bin/touch
/bin/touch
Normalerweise ist eine der ausführbaren Dateien nur ein symlink zum anderen, aber in einigen Fällen haben Sie möglicherweise zwei Versionen desselben Befehls an verschiedenen Orten installiert oder völlig unterschiedliche Befehle mit demselben Namen.
Schlussfolgerung #
Der which command wird verwendet, um einen Befehl zu lokalisieren, indem die ausführbare Befehlsdatei in den Verzeichnissen gesucht wird, die durch die Umgebungsvariable PATH angegeben sind .
Wenn Sie Fragen oder Feedback haben, hinterlassen Sie bitte unten einen Kommentar.