GNU/Linux >> LINUX-Kenntnisse >  >> Linux

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

Dieses Anfänger-Tutorial zeigt, wie man den Bash-Fehler „Befehl nicht gefunden“ unter Debian, Ubuntu und anderen Linux-Distributionen behebt.

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, einzelne Lösung für diesen Fehler. Sie müssen selbst ein wenig auf Fehlersuche gehen.

Es ist nicht zu schwierig, ehrlich. Der Fehler gibt bereits einen Hinweis, wenn er sagt „bash:command not found“. Ihre Shell (oder Ihr Linux-System) kann den eingegebenen Befehl nicht finden.

Es kann drei mögliche Gründe geben, warum es den Befehl nicht finden kann:

  • 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

Gehen wir im Detail auf jede mögliche Ursache ein.

Behebung des „bash:command not found“-Fehlers

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

Es ist menschlich, Fehler zu machen, besonders beim Tippen. Es ist möglich, dass der von Ihnen eingegebene Befehl einen Tippfehler (Rechtschreibfehler) enthält.

Auf Folgendes sollten Sie besonders achten:

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

Schauen Sie sich das Beispiel unten an, 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 mit einer großen Anzahl von Befehlen installiert ist, ist es nicht möglich, alle Befehlszeilentools in einem System vorzuinstallieren. Wenn der Befehl, den Sie ausführen möchten, kein beliebter, allgemeiner Befehl ist, müssen Sie ihn zuerst installieren.

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

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

Nehmen Sie das Beispiel des ifconfig-Befehls. Dieser veraltete Befehl wurde zum Abrufen von IP-Adressen und anderen 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.

Gelegentlich findet Ihr System nicht einmal die extrem häufigen 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.

Aus diesem Grund stolpern Docker-Benutzer über Dinge wie den Fehler „Ping-Befehl nicht gefunden“ usw.

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

Methode 3:Stellen Sie sicher, dass der Befehl echt ist, kein Alias

Ich hoffe, Sie kennen das Alias-Konzept in Linux. Sie können Ihre eigenen kürzeren Befehle konfigurieren, um die Eingabe eines längeren Befehls zu ersetzen.

Einige Distributionen wie Ubuntu bieten automatisch Befehle wie ll (alias ls -l), la (alias ls -a) und so weiter.

Stellen Sie sich vor, Sie sind es gewohnt, ll und la auf Ihrem persönlichen System einzugeben, melden sich bei einem anderen Linux-System an und stellen fest, dass der Befehl ll nicht existiert. Sie können nicht einmal den ll-Befehl installieren, weil es kein echter Befehl ist.

Wenn Sie also einen Befehl nicht finden können und er nicht einmal installiert werden kann, sollten Sie versuchen, im Internet zu suchen, ob dieser Befehl überhaupt existiert. Wenn nicht, war es wahrscheinlich ein Alias ​​auf einem anderen System.

Methode 4:Ü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 anhand seines Namens 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 korrekten Pfad zur Datei anzugeben, wird es sich darüber beschweren, dass die Datei nicht gefunden wird.

Hinzufügen zum PATH

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 lästig.

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

Sie können die Position der Binärdatei eines Befehls überprüfen, indem Sie which verwenden 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 zur rc-Datei der Shell hinzugefügt werden, damit die an der PATH-Variable vorgenommenen Änderungen dauerhaft sind.

Hier bekommen Sie das Wesentliche. Es ist wichtig, dass Ihr Linux-System Kenntnis über den Speicherort des ausführbaren Skripts hat. Entweder Sie geben den Pfad beim Ausführen an oder Sie fügen seinen Speicherort der PATH-Variablen hinzu.

Hat es Ihnen geholfen?

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

Hier gibt es keine einfache Lösung für den Fehler „Befehl nicht gefunden“. Ich habe Ihnen einige Tipps 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.



Linux
  1. So beheben Sie einen Befehl nicht gefunden-Fehler in Linux

  2. bash:netstat:Befehl nicht gefunden.

  3. ln:Befehl nicht gefunden

  4. bash sh - Befehl nicht gefunden

  5. sshpass:Fehler „Befehl nicht gefunden“.

[Behoben] bash:sudo:Befehl nicht gefunden

If…else…if-Anweisung (Fehler „Befehl nicht gefunden“)?

mv:Befehl nicht gefunden

Linux-Fehler:bash:rsync:Befehl nicht gefunden

bash - make-Befehl nicht gefunden

wget-Befehl auf Linux-Server nicht gefunden