Der which Befehl

In diesem Tutorial behandeln wir den Linux-Befehl which. Wenn du den Namen einer ausführbaren Datei (Befehl) in die Eingabeaufforderung des Terminals eingibst, hilft dir which dabei, den Ort der Datei zu finden, die ausgeführt wird. Der Befehl sucht in den Verzeichnissen, die in der Umgebungsvariable PATH aufgelistet sind, nach der als Argument angegebenen ausführbaren Datei.

Was ist PATH?

In Linux ist PATH eine Umgebungsvariable, die der Shell und anderen Programmen mitteilt, in welchen Verzeichnissen sie nach ausführbaren Dateien suchen sollen. Sie besteht aus einer Liste von durch Doppelpunkte getrennten absoluten Pfaden zu Verzeichnissen, die die ausführbaren Dateien enthalten.

Um den Inhalt deiner PATH-Variable einzusehen, verwende den Befehl echo mit $PATH als Argument:

echo $PATH

Die Ausgabe sieht etwa so aus:

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

Wie benutzt man den Befehl which?

Die Syntax für den which-Befehl lautet wie folgt:

which [OPTIONEN] DATEINAME...

Wenn du zum Beispiel den vollständigen Pfad des ping-Befehls finden möchtest, gib Folgendes ein:

which ping

Die Ausgabe sieht dann etwa so aus:

/bin/ping

Du kannst dem which-Befehl auch mehrere Argumente geben:

which netcat uptime

Die Ausgabe enthält die vollständigen Pfade zu den ausführbaren Dateien von sowohl netcat als auch uptime:

/bin/netcat
/usr/bin/uptime

Die Suche erfolgt von links nach rechts. Wenn in den Verzeichnissen, die in der PATH-Umgebungsvariable aufgelistet sind, mehrere Treffer gefunden werden, gibt which nur den ersten aus. Wenn du alle Übereinstimmungen ausgeben möchtest, verwende die Option -a:

which -a touch

Die Ausgabe zeigt die vollständigen Pfade zu beiden touch-Befehlen:

/usr/bin/touch
/bin/touch

Normalerweise handelt es sich bei einer der ausführbaren Dateien nur um einen Symlink auf die andere. In manchen Fällen kann es jedoch vorkommen, dass du zwei Versionen desselben Befehls an verschiedenen Orten installiert hast oder völlig unterschiedliche Befehle mit demselben Namen.

Zusammenfassung

Der which-Befehl wird verwendet, um den Ort einer ausführbaren Datei zu finden, indem er in den Verzeichnissen sucht, die in der PATH-Umgebungsvariable aufgeführt sind. Wenn du Fragen oder Feedback hast, hinterlasse bitte unten einen Kommentar.

War dieser Beitrag hilfreich?

Verwandte Beiträge