So überprüfen Sie, ob ein Befehl in Linux verfügbar ist

LinuxLinuxBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab lernen Sie, wie Sie feststellen können, ob ein Befehl in Linux verfügbar ist und wo er sich befindet. Sie werden drei verschiedene Methoden untersuchen: die Verwendung des which-Befehls, um den Pfad der ausführbaren Datei zu finden, die Verwendung von command -v, um die Verfügbarkeit zu überprüfen und eingebaute Befehle oder Aliase zu identifizieren, und die Verwendung des type-Befehls, um den Typ des Befehls zu prüfen.

Durch die Durchführung dieser Schritte werden Sie praktische Fähigkeiten in der Identifizierung und Lokalisierung von Befehlen in Ihrer Linux-Umgebung erwerben, was für die effektive Verwendung der Befehlszeile und die Fehlerbehebung unerlässlich ist.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicSystemCommandsGroup(["Basic System Commands"]) linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux/BasicSystemCommandsGroup -.-> linux/echo("Text Display") linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/FileandDirectoryManagementGroup -.-> linux/which("Command Locating") subgraph Lab Skills linux/echo -.-> lab-558701{{"So überprüfen Sie, ob ein Befehl in Linux verfügbar ist"}} linux/ls -.-> lab-558701{{"So überprüfen Sie, ob ein Befehl in Linux verfügbar ist"}} linux/which -.-> lab-558701{{"So überprüfen Sie, ob ein Befehl in Linux verfügbar ist"}} end

Lokalisieren des Befehlspfads mit which

In diesem Schritt lernen Sie, wie Sie mithilfe des which-Befehls den Speicherort eines Befehls auf Ihrem System finden können. Wenn Sie einen Befehl im Terminal eingeben, muss das System wissen, wo sich die ausführbare Datei für diesen Befehl befindet. Der which-Befehl hilft Ihnen, diesen Pfad zu ermitteln.

Lassen Sie uns den Pfad für den echo-Befehl finden, den Sie im vorherigen Lab verwendet haben.

Geben Sie den folgenden Befehl in Ihrem Terminal ein und drücken Sie die Eingabetaste:

which echo

Sie sollten eine Ausgabe ähnlich der folgenden sehen:

/usr/bin/echo

Diese Ausgabe zeigt Ihnen, dass die ausführbare echo-Datei im Verzeichnis /usr/bin/ gespeichert ist. /usr/bin ist ein übliches Verzeichnis zum Speichern von ausführbaren Programmen, die für alle Benutzer verfügbar sind.

Jetzt versuchen wir, den Pfad für den htop-Befehl zu finden, den Sie installiert haben.

Geben Sie den folgenden Befehl ein und drücken Sie die Eingabetaste:

which htop

Die Ausgabe sollte ähnlich der folgenden sein:

/usr/bin/htop

Dies bestätigt, dass sich htop ebenfalls im Verzeichnis /usr/bin/ befindet.

Der which-Befehl ist sehr nützlich, wenn Sie genau wissen müssen, welche Version eines Befehls ausgeführt wird, insbesondere wenn Sie mehrere Versionen installiert haben oder wenn sich der Befehl in einem weniger üblichen Verzeichnis befindet.

Überprüfen der Verfügbarkeit eines Befehls mit command -v

In diesem Schritt lernen Sie eine weitere Methode kennen, um die Existenz und den Speicherort eines Befehls mithilfe von command -v zu überprüfen. Dies ähnelt dem which-Befehl, aber command -v kann Ihnen auch sagen, ob ein Befehl ein eingebauter Shell-Befehl oder ein Alias ist, nicht nur eine ausführbare Datei.

Lassen Sie uns command -v verwenden, um nach dem echo-Befehl zu suchen.

Geben Sie den folgenden Befehl in Ihrem Terminal ein und drücken Sie die Eingabetaste:

command -v echo

Sie sollten eine Ausgabe ähnlich der folgenden sehen:

echo

In diesem Fall zeigt uns command -v, dass echo ein eingebauter Shell-Befehl ist. Eingebaute Befehle sind Teil der Shell selbst und keine separaten ausführbaren Dateien.

Jetzt überprüfen wir den htop-Befehl mit command -v.

Geben Sie den folgenden Befehl ein und drücken Sie die Eingabetaste:

command -v htop

Die Ausgabe sollte ähnlich der folgenden sein:

/usr/bin/htop

Hier gibt uns command -v den vollständigen Pfad zur ausführbaren htop-Datei, genau wie der which-Befehl. Dies zeigt an, dass htop ein externer Befehl (eine ausführbare Datei) und kein eingebauter Shell-Befehl ist.

Die Verwendung von command -v ist eine zuverlässige Methode, um festzustellen, wie die Shell einen Befehlsnamen interpretieren wird. Sie ist besonders nützlich, um zwischen Aliasen, eingebauten Befehlen und externen ausführbaren Dateien zu unterscheiden.

Überprüfen des Befehlstyps mit dem type-Befehl

In diesem Schritt verwenden Sie den type-Befehl, um eine Beschreibung darüber zu erhalten, wie die Shell einen Befehlsnamen interpretiert. Der type-Befehl ist noch detaillierter als command -v und kann Ihnen sagen, ob ein Befehl ein Alias, ein Schlüsselwort, eine Funktion, ein eingebauter Befehl oder eine Datei ist.

Lassen Sie uns type verwenden, um den echo-Befehl zu überprüfen.

Geben Sie den folgenden Befehl in Ihrem Terminal ein und drücken Sie die Eingabetaste:

type echo

Sie sollten eine Ausgabe ähnlich der folgenden sehen:

echo is a shell builtin

Diese Ausgabe zeigt klar, dass echo ein eingebauter Shell-Befehl ist.

Jetzt überprüfen wir den htop-Befehl mit type.

Geben Sie den folgenden Befehl ein und drücken Sie die Eingabetaste:

type htop

Die Ausgabe sollte ähnlich der folgenden sein:

htop is /usr/bin/htop

Hier sagt uns type, dass sich htop unter /usr/bin/htop befindet, was darauf hinweist, dass es sich um eine ausführbare Datei handelt.

Versuchen wir noch ein Beispiel mit einem Befehl, der möglicherweise ein Alias ist. Aliase sind Abkürzungen für längere Befehle. Obwohl in dieser Umgebung möglicherweise keine Standard-Aliase eingerichtet sind, schauen wir uns an, was type über einen gängigen Befehl wie ls sagt.

Geben Sie den folgenden Befehl ein und drücken Sie die Eingabetaste:

type ls

Die Ausgabe kann je nach Shell-Konfiguration variieren, aber es wird wahrscheinlich etwas wie Folgendes angezeigt:

ls is an alias for ls --color=auto

Dies zeigt an, dass ls ein Alias ist, der automatisch Farben in die Ausgabe einfügt.

Der type-Befehl ist ein leistungsstarkes Werkzeug, um zu verstehen, wie Ihre Shell Befehlsnamen auflöst, und kann sehr hilfreich sein, um Skripte zu debuggen oder das Verhalten von Befehlen zu verstehen.

Zusammenfassung

In diesem Lab haben Sie gelernt, wie Sie überprüfen können, ob ein Befehl in Linux verfügbar ist, und wie Sie seinen Typ und Speicherort bestimmen. Zunächst haben Sie den which-Befehl verwendet, um den vollständigen Pfad ausführbarer Befehle wie echo und htop zu finden. Dies zeigt, wie Sie ermitteln können, wo die Binärdatei eines Befehls auf dem System gespeichert ist, typischerweise in Verzeichnissen wie /usr/bin.

Anschließend haben Sie das command -v-Hilfsprogramm untersucht, das eine umfassendere Überprüfung bietet. Dieser Befehl zeigt nicht nur den Speicherort ausführbarer Dateien an, sondern erkennt auch, ob ein Befehl ein eingebauter Shell-Befehl ist, wie am Beispiel des echo-Befehls gezeigt wurde. Diese Unterscheidung ist wichtig, um zu verstehen, wie die Shell verschiedene Arten von Befehlen verarbeitet.