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.