Wie man den Befehl which in Linux verwendet

Der which-Befehl in Linux ermöglicht die präzise Lokalisierung ausführbarer Dateien im $PATH, verbessert die Systemverwaltung und unterstützt bei der Identifikation von Befehlen und deren Versionen.

Linux gibt Ihnen die vollständige Kontrolle über Ihre Arbeitsweise, von der Anpassung bis zur Systemverwaltung. Ein nützliches Werkzeug, das Ihre Erfahrung reibungsloser gestalten kann, ist der which-Befehl. Er hilft Ihnen, schnell den genauen Speicherort einer ausführbaren Datei zu finden, indem er die Verzeichnisse durchsucht, die in Ihrer $PATH-Variablen aufgeführt sind. In diesem Leitfaden erklären wir, wie der which-Befehl funktioniert, untersuchen seine Syntax und Optionen und zeigen praktische Beispiele, um Ihnen zu helfen, ihn effektiv zu nutzen.

Den which-Befehl Verstehen: Syntax und Funktionsweise

Der which-Befehl in Linux hilft, die ausführbare Datei für einen gegebenen Befehl zu finden. Er durchsucht die Verzeichnisse, die in der PATH-Umgebungsvariablen aufgeführt sind. Dieser Befehl zeigt, welche Datei ausgeführt wird, wenn Sie einen Befehl ausführen. Er gibt folgende Ausgaben zurück:

  • 0, wenn alle angegebenen Befehle gefunden und ausführbar sind.
  • 1, wenn einer oder mehrere Befehle fehlen oder nicht ausführbar sind.
  • 2, wenn eine ungültige Option verwendet wird.

Die allgemeine Syntax zur Verwendung des which-Befehls in Linux lautet:

which [datei1] [datei2] ...

Ersetzen Sie [datei1] und [datei2] durch die Namen der ausführbaren Dateien, die Sie finden möchten.

Warum Sollten Wir Den which-Befehl Verwenden

Es gibt viele Gründe, den which-Befehl in Linux zu verwenden. Zum Beispiel hilft er uns zu bestimmen, ob ein Befehl eine tatsächliche ausführbare Datei, ein Alias oder ein symbolischer Link ist. Außerdem zeigt er den genauen Speicherort einer ausführbaren Datei an. Er ermöglicht es uns auch, fehlende oder konfliktreiche Befehle in der PATH-Variablen zu identifizieren. Außerdem stellt die Verwendung des which-Befehls sicher, dass die richtige Version ausgeführt wird, wenn mehrere Versionen vorhanden sind.

Wie Man Den which-Befehl In Linux Verwendet

Lassen Sie uns einige Beispiele erkunden, um zu sehen, wie der which-Befehl in der Praxis funktioniert:

Beispiel 1: Pfad einer ausführbaren Datei Lokalisieren

Wir können den which-Befehl verwenden, um zu bestimmen, wo die ausführbare Datei eines Befehls gespeichert ist:

which grep

Er gibt den vollständigen Pfad zurück, wie „/usr/bin/grep“, was den genauen Speicherort der ausführbaren Datei angibt.

Beispiel 2: Pfade Mehrerer Befehle Finden

Wir können mehrere Befehle gleichzeitig mit dem which-Befehl angeben, um ihre jeweiligen Pfade zu überprüfen:

which awk sed cat touch

Dieser Befehl ruft die Pfade der Befehle awk, sed und cat ab:

Beispiel 3: Alle Instanzen Eines Befehls Anzeigen

Standardmäßig gibt which nur das erste gefundene Ergebnis im PATH zurück. Wir können jedoch den which-Befehl mit der Option -a ausführen, um alle Vorkommen eines Befehls zu finden:

which -a cat

Dieser Befehl listet alle Standorte auf, an denen cat im PATH gefunden wird:

Sie können deren Details überprüfen, indem Sie den ls-Befehl mit der Option -lh ausführen. Dies zeigt, ob beide Dateien echte ausführbare Dateien oder Duplikate an unterschiedlichen Standorten sind:

ls -lh /usr/bin/cat && ls -lh /bin/cat

Der Screenshot oben zeigt zwei identische Befehle an verschiedenen Standorten, beide 35KB groß und ausführbar.

Beispiel 4: Prüfen, Ob Ein Befehl Existiert

Wir können den which-Befehl verwenden, um die Existenz eines bestimmten Befehls zu überprüfen:

which cats

Wenn der Befehl nicht existiert, gibt es keine Ausgabe, wie im Screenshot oben gezeigt, und der Exit-Status ist ungleich null.

Ein System kann mehrere Versionen desselben Programms haben, aber einige Instanzen könnten symbolische Links anstelle von tatsächlichen Binärdateien sein. Um die symbolischen Links zu finden, führen Sie einfach den which-Befehl mit der Option -a aus:

which -a crontab

Überprüfen Sie anschließend die Dateidetails mit dem ls-Befehl:

ls -lh /usr/bin/crontab && ls -lh /bin/crontab

Wenn die Ausgabe -> enthält, bedeutet dies, dass die Datei ein symbolischer Link ist, der auf einen anderen Speicherort zeigt.

Shell-Befehle

Der which-Befehl zeigt nur externe ausführbare Dateien an und gibt keine Shell-internen Befehle aus. Er hilft uns festzustellen, wo ein Programm auf dem System installiert ist. Zum Beispiel gibt der folgende Befehl nur den Pfad für ls zurück, da read ein interner Shell-Befehl ist:

which ls read

Einschränkungen des Which-Befehls

Der which-Befehl hat mehrere Einschränkungen, die ihn in bestimmten Situationen weniger zuverlässig machen. Er zeigt nur externe ausführbare Dateien an und erkennt keine internen Befehle wie cd oder read. Darüber hinaus kann er keine Unterschiede zwischen binären und symbolischen Links erkennen. Der Befehl sucht streng in den Verzeichnissen, die in der $PATH-Variable aufgeführt sind, was bedeutet, dass er Programme, die woanders gespeichert sind, nicht findet. Auch zeigt er keine Details wie Dateityp, Berechtigungen oder Version an. Wenn ein Befehl nicht existiert, gibt es keine Fehlermeldung, sondern er gibt einfach nichts zurück.

Um diese Einschränkungen zu überwinden, können Sie eine alternative Befehle wie whereis, type oder ls verwenden.

Where vs. Which-Befehl

Die Befehle where und which helfen beide beim Auffinden von Dateien, haben jedoch unterschiedliche Zwecke. Der where-Befehl wird hauptsächlich in Windows und einigen Unix-ähnlichen Systemen verwendet. Er findet sowohl Dateien als auch Verzeichnisse und listet alle Übereinstimmungen im PATH des Systems auf.

Der which-Befehl ist spezifisch für Unix-ähnliche Systeme. Er sucht nur nach ausführbaren Dateien in Verzeichnissen, die in der $PATH-Variable aufgeführt sind. Standardmäßig gibt er die erste Übereinstimmung zurück, aber mit which -a werden alle Übereinstimmungen aufgelistet.

Wenn Sie beispielsweise den where node-Befehl unter Windows ausführen, zeigt er alle Standorte an, an denen Node gefunden wird. Unter Linux gibt which gcc den ersten Pfad zurück, an dem der GCC-Compiler zu finden ist.

Obwohl der which-Befehl mehrere Funktionen bietet, fehlen ihm dennoch einige Fähigkeiten. Dies kann jedoch durch die Verwendung eines alternativen Befehls, wie bereits besprochen, überwunden werden. Außerdem erkennt der which-Befehl nur ausführbare Dateien in Ihrem $PATH. Wenn Ihr Skript oder Programm nicht gefunden wird, fehlen möglicherweise die Ausführungsberechtigungen. Stellen Sie daher sicher, dass sich Ihr Skript in einem Verzeichnis befindet, das in $PATH aufgeführt ist, und über die Ausführungsberechtigungen verfügt.

Häufig gestellte Fragen und ihre Lösungen

Was ist der Linux-Befehl „Which“?

Der Befehl „which“ ist ein nützliches Kommandozeilen-Tool in Linux, das folgende Funktionen bietet:

    • -

Pfadermittlung

    : Er zeigt den vollständigen Pfad einer ausführbaren Datei, die zu einem angegebenen Befehl gehört.

  • Umgebungsvariable $PATH: „which“ durchsucht die Verzeichnisse, die in der Umgebungsvariable $PATH festgelegt sind.
  • Mehrere Ausgaben: Wenn mehrere Versionen eines Befehls vorhanden sind, listet „which“ alle entsprechenden Pfade auf. Beispielverwendung: bash which bash Dieser Befehl gibt den Pfad zur Bash-Shell zurück, sofern sie im $PATH gefunden wird.

Was macht der Befehl "which"?

Der Befehl 'which' wird in Unix-ähnlichen Betriebssystemen verwendet, um den vollständigen Pfad eines Shell-Befehls zu ermitteln. Hier sind die Hauptfunktionen:

    • -

Pfadabfrage

    : Er zeigt den Speicherort eines installierten Programms in der Befehlszeile an.

  • Fehlerausgabe: Wenn der angegebene Befehl nicht gefunden wird, gibt 'which' eine Fehlermeldung aus.
  • Nutzung: Besonders nützlich zur Überprüfung, ob ein Programm installiert ist und wo es sich befindet. Zusammengefasst liefert 'which' wichtige Informationen für die Systemadministration und Softwareentwicklung.

Wie verwende ich den Befehl "cat" in Ubuntu?

Der Befehl cat in Ubuntu dient zum Lesen und Ausgeben von Inhalten in Dateien. Hier sind einige grundlegende Verwendungen:

    • -

Datei anzeigen:

    • Um den Inhalt einer Datei anzuzeigen, geben Sie einfach

cat dateiname.txt

    ein.

  • Mehrere Dateien kombinieren: Um den Inhalt mehrerer Dateien zusammen anzuzeigen, verwenden Sie cat datei1.txt datei2.txt.
  • Inhalt in eine neue Datei schreiben: Sie können cat datei1.txt > neue_datei.txt verwenden, um den Inhalt von datei1.txt in neue_datei.txt zu kopieren.
  • Hinzufügen zu einer Datei: Nutzen Sie cat datei1.txt >> bestehende_datei.txt, um den Inhalt an bestehende_datei.txt anzuhängen.
  • Von der Standardeingabe lesen: Geben Sie cat - ein, um vom Terminal aus Text einzugeben (beenden mit Ctrl+D). Der Befehl bietet eine einfache Möglichkeit, Inhalte schnell zu betrachten und zu manipulieren, ideal für den Umgang mit Textdateien in der Kommandozeile.

Wie finde ich den aktuellen Pfad in Linux?

Um den aktuellen Pfad in Linux zu ermitteln, nutzen Sie den Befehl: pwd Dieser Befehl ist dein GPS im Linux-Dateisystem. Er zeigt dir den Pfad zu deinem aktuellen Verzeichnis an und hilft dir somit zu verstehen, wo du dich im Verzeichnisbaum befindest. ### Weitere Tipps:

    • -

Verzeichniswechsel

    • : Um das Verzeichnis zu wechseln, verwenden Sie

cd <Verzeichnisname>

    .

  • Verzeichnisinhalt anzeigen: Mit dem Befehl ls sehen Sie den Inhalt des aktuellen Verzeichnisses.
  • Befehlsverlauf: Verwenden Sie die Pfeiltasten, um zuvor eingegebene Befehle zu wiederholen. Mit pwd haben Sie schnell und einfach Ihren Standort im Dateisystem gefunden!

Index
  1. Den which-Befehl Verstehen: Syntax und Funktionsweise
  2. Warum Sollten Wir Den which-Befehl Verwenden
  3. Wie Man Den which-Befehl In Linux Verwendet
    1. Beispiel 1: Pfad einer ausführbaren Datei Lokalisieren
    2. Beispiel 2: Pfade Mehrerer Befehle Finden
    3. Beispiel 3: Alle Instanzen Eines Befehls Anzeigen
    4. Beispiel 4: Prüfen, Ob Ein Befehl Existiert
  4. Beispiel 5: Symbolische Links Identifizieren
    1. Shell-Befehle
  5. Einschränkungen des Which-Befehls
  6. Where vs. Which-Befehl
  7. Häufig gestellte Fragen und ihre Lösungen
    1. Was ist der Linux-Befehl „Which“?
    2. Was macht der Befehl "which"?
    3. Wie verwende ich den Befehl "cat" in Ubuntu?
    4. Wie finde ich den aktuellen Pfad in Linux?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Go up