Fehlerbehebung beim Fehler „Bash: Command Not Found“ in Linux

Dieses Anfänger-Tutorial zeigt, wie Sie den Fehler Bash: command not found auf Debian, Ubuntu und anderen Linux-Distributionen beheben können.

Wenn Sie Befehle unter Linux verwenden, erwarten Sie eine Ausgabe. Aber manchmal treten Probleme auf, bei denen das Terminal den Fehler “Befehl nicht gefunden” anzeigt.

Es gibt keine einfache, einheitliche Lösung für diesen Fehler. Sie müssen ein wenig Fehlersuche selbst durchführen.

Es ist nicht allzu schwierig, ehrlich gesagt. Der Fehler gibt bereits einen Hinweis, wenn er sagt „bash: Befehl nicht gefunden”. Ihre Shell (oder Ihr Linux-System) kann den von Ihnen eingegebenen Befehl nicht finden.

Es kann drei mögliche Gründe geben, warum der Befehl nicht gefunden wird:

  • Es ist ein Tippfehler und der Befehlsname ist falsch geschrieben
  • Der Befehl ist nicht einmal installiert
  • Der Befehl ist im Grunde ein ausführbares Skript und sein Speicherort ist nicht bekannt

Lassen Sie uns im Detail auf jede mögliche Ursache eingehen.

Befestigung „bash: Befehl nicht gefunden” Fehler

Methode 1: Überprüfen Sie den Befehlsnamen (nein, ernsthaft)

Es ist menschlich, Fehler zu machen, besonders beim Tippen. Möglicherweise enthält der eingegebene Befehl einen Tippfehler (Rechtschreibfehler).

Auf Folgendes sollten Sie besonders achten:

  • Der richtige Befehlsname
  • Die Leerzeichen zwischen dem Befehl und seinen Optionen
  • Die Verwendung von 1 (Ziffer Eins), I (Großbuchstabe i) und l (Kleinbuchstabe L)
  • Verwendung von Groß- und Kleinbuchstaben

Schauen Sie sich die an example unten, wo ich den allgemeinen ls-Befehl falsch geschrieben habe.

Stellen Sie also sicher, was Sie eingeben.

Methode 2: Stellen Sie sicher, dass der Befehl auf Ihrem System installiert ist

Dies ist ein weiterer häufiger Grund für den Fehler “Befehl nicht gefunden”. Sie können einen Befehl nicht ausführen, wenn er nicht bereits installiert ist.

Während Ihre Linux-Distribution standardmäßig eine große Anzahl von Befehlen enthält, ist es nicht möglich, alle Befehlszeilentools in einem System vorzuinstallieren. Wenn der Befehl, den Sie ausführen möchten, kein beliebter, gebräuchlicher Befehl ist, müssen Sie ihn zuerst installieren.

Sie können den Paketmanager Ihrer Distribution verwenden, um es zu installieren.

Möglicherweise müssen Sie den fehlenden Befehl installieren

In einigen Fällen werden beliebte Befehle möglicherweise eingestellt und Sie können sie nicht einmal mehr installieren. Sie müssen einen alternativen Befehl finden, um das Ergebnis zu erzielen.

Nehmen Sie die example des ifconfig-Befehls. Dieser veraltete Befehl wurde zum Abrufen der IP-Adresse und anderer Netzwerkschnittstelleninformationen verwendet. Ältere Tutorials im Web erwähnen immer noch die Verwendung dieses Befehls, aber Sie können ihn in neueren Linux-Versionen nicht mehr verwenden. Es wurde durch das IP-Tool ersetzt.

Einige beliebte Befehle werden im Laufe der Zeit eingestellt

Gelegentlich findet Ihr System nicht einmal die äußerst gebräuchlichen Befehle. Dies ist häufig der Fall, wenn Sie eine Linux-Distribution in Docker-Containern ausführen. Um die Größe des Betriebssystem-Images zu reduzieren, enthalten die Container oft nicht einmal die gängigsten Linux-Befehle.

Deshalb stolpern Docker-Benutzer über Dinge wie Fehler beim Ping-Befehl nicht gefunden etc.

Docker-Container haben oft nur wenige Befehle installiert

Die Lösung besteht also darin, entweder den fehlenden Befehl zu installieren oder ein Tool zu finden, das dasselbe tun könnte, wie Sie es mit dem fehlenden Befehl versucht haben.

Methode 3: Überprüfen Sie, ob es sich um ein ausführbares Skript mit dem richtigen Pfad handelt

Dies ist ein häufiger Fehler, den Linux-Neulinge beim Ausführen eines Shell-Skripts machen.

Selbst wenn Sie sich im selben Verzeichnis befinden und versuchen, ein ausführbares Skript nur über seinen Namen auszuführen, wird ein Fehler angezeigt.

[email protected]:~/scripts# sample
-bash: sample: command not found

Sie müssen entweder den Shell-Interpreter explizit oder seinen absoluten Pfad angeben.

Wenn Sie sich in einem anderen Verzeichnis befinden und versuchen, das Shell-Skript auszuführen, ohne den richtigen Pfad zur Datei anzugeben, wird es sich darüber beschweren, dass die Datei nicht gefunden wird.

Hinzufügen zum PFAD

In einigen Fällen laden Sie die gesamte Software in einer Tar-Datei herunter, extrahieren sie und finden eine ausführbare Datei zusammen mit anderen Programmdateien. Um das Programm auszuführen, müssen Sie die ausführbare Datei ausführen.

Dafür müssen Sie sich jedoch im selben Verzeichnis befinden oder den gesamten Pfad zur ausführbaren Datei angeben. Das ist ermüdend.

Hier können Sie die Variable PATH verwenden. Diese Variable enthält eine Sammlung von Verzeichnissen und diese Verzeichnisse enthalten die binären (ausführbaren) Dateien verschiedener Linux-Befehle. Wenn Sie einen Befehl ausführen, überprüft Ihr Linux-System die genannten Verzeichnisse in der PATH-Variablen, um nach der ausführbaren Datei dieses Befehls zu suchen.

Sie können den Speicherort der Binärdatei eines Befehls überprüfen, indem Sie die which Befehl:

Wenn Sie eine ausführbare Datei oder ein Skript von überall auf dem System ausführen möchten, müssen Sie den Speicherort der Datei zu dieser PATH-Variablen hinzufügen.

Die PATH-Variable muss dann der rc-Datei der Shell hinzugefügt werden, damit die an der PATH-Variablen vorgenommenen Änderungen dauerhaft sind.

Das Wesentliche erhalten Sie hier. Es ist wichtig, dass Ihr Linux-System den Speicherort des ausführbaren Skripts kennt. Entweder geben Sie den Pfad an, während Sie ihn ausführen, oder Sie fügen seinen Speicherort der PATH-Variablen hinzu.

Hat es dir geholfen?

Ich verstehe, dass die Dinge überwältigend sein können, wenn Sie neu bei Linux sind. Aber wenn Sie die Ursache des Problems verstehen, hat sich Ihr Wissen allmählich verbessert.

Hier gibt es keine einfache Lösung für den ‘Befehl nicht gefunden Fehler’. Ich habe Ihnen einige Hinweise und Hinweise gegeben, die Ihnen bei der Fehlersuche helfen sollten.

Wenn Sie immer noch Zweifel haben oder Hilfe benötigen, lassen Sie es mich bitte im Kommentarbereich wissen.