Die Linux-Befehlszeile ist ein Werkzeug, das jeder Systemadministrator kennen lernen sollte. Mit der Macht der Befehle an Ihren Fingerspitzen gibt es sehr wenig, was Sie nicht tun können. Doch mit dieser Macht geht auch die Notwendigkeit einher, sich diese Befehle zu merken. Wenn man bedenkt, wie kompliziert diese Befehle werden können, ist es verständlich, dass einige Administratoren Schwierigkeiten haben, sich daran zu erinnern, was sie an der Bash-Eingabeaufforderung getan haben oder tun müssen.

Sie müssen vielleicht den Befehl eingeben:

iptables -A OUTPUT -o eth0 -p tcp -m multiport --sports 22,80,443 -m state --state ESTABLISHED -j ACCEPT

Oder vielleicht haben Sie sich vor kurzem sicher in einen Server eingeloggt, können sich aber nicht mehr an die IP-Adresse erinnern.
Was tun Sie dann? Die meisten Linux-Administratoren würden Ihnen sofort raten, in Ihrem Bash-Verlauf nachzusehen; und das wäre ein weiser Rat. Wenn Sie den Befehl history eingeben, werden Ihnen die letzten X Befehle angezeigt, die Sie auf dem System ausgeführt haben. Das X steht in der Datei ~/.bashrc in der Zeile:

HISTSIZE=1000

Der Befehl history ist in der Tat eine hervorragende Möglichkeit, um zu sehen, welche Befehle Sie ausgeführt haben. Sie können sie durchforsten, den gewünschten Befehl finden, ihn kopieren und dann wieder in die Eingabeaufforderung einfügen. Oder Sie können in der Eingabeaufforderung einfach auf den Pfeil nach oben auf Ihrer Tastatur tippen, bis Sie den gewünschten Befehl gefunden haben.

Was wäre, wenn ich Ihnen sagen würde, dass es einen viel, viel, viel einfacheren Weg gibt? Den gibt es, und er heißt Fish. Fish ist eine freundliche, interaktive Shell, die auf Ihrem Linux-Rechner installiert werden kann und über Funktionen verfügt:

  • Autosuggestions

  • Skriptfähigkeit

  • Menschliche Seitenvervollständigungen

  • VGA Farbe

  • Web-basierte Konfiguration

  • Bedienungsfreundlichkeit

Ich werde Sie durch die Installation und Benutzung der Fish Shell führen; Wenn Sie einmal angefangen haben, dieses praktische Werkzeug zu benutzen, werden Sie wahrscheinlich nie wieder zur alten Standard-Linux-Shell zurückkehren.

Installation

Fish kann auf Ubuntu, Debian, Fedora, RHEL, openSUSE, CentOS, Arch Linux, Gentoo Linux und sogar Mac OS und Windows installiert werden. Ich werde die Installation auf Elementary OS demonstrieren, so dass die Installation für Ihre Distribution variieren wird (Sie können Anweisungen für alle unterstützten Plattformen von der Fish-Hauptseite erhalten). Die Installation für Elementary OS (sowie die meisten Debian-basierten Systeme) ist wie folgt:

  1. Öffnen Sie ein Terminal-Fenster

  2. Hängen Sie das notwendige Repository mit dem Befehl sudo apt-add-repository ppa:fish-shell/release-2

  3. Aktualisieren Sie apt mit dem Befehl sudo apt-get update

  4. Installieren Sie fish mit dem Befehl sudo apt-get install fish

Das war’s; fish ist nun installiert und bereit zum Einsatz.

Erste Schritte

Sie befinden sich am Bash-Prompt, haben fish installiert und haben keine Ahnung, wie Sie es nutzen können. Das liegt daran, dass Sie sich immer noch in Ihrer Bash-Eingabeaufforderung befinden. Um fish nutzen zu können, müssen Sie die Eingabeaufforderung von fish aufrufen. Wie machen Sie das? Geben Sie den Befehl fish ein, und Sie werden sehen, wie sich Ihre Eingabeaufforderung ändert (Abbildung 1).

Abbildung 1: Je nachdem, wie Sie Ihre Bash-Eingabeaufforderung konfiguriert haben, kann die Änderung dramatisch oder subtil sein.

An diesem Punkt sind Sie bereit, fish zu benutzen. Der beste Weg, dies zu tun, ist, einen Befehl einzugeben. Sie werden sehen, dass fish den Befehl sehr gut vervollständigt, wenn er auf Ihre Geschichte gestützt wird. Wenn ich zum Beispiel beginne, ssh einzugeben, vervollständigt fish den Befehl mit dem letzten übereinstimmenden Eintrag aus der Bash-History (Abbildung 2).

Abbildung 2: Fish macht großen Gebrauch von der Bash-History.

Wenn das der Befehl ist, nach dem Sie suchen, drücken Sie die rechte Pfeiltaste, um ihn zu akzeptieren und drücken Sie dann Enter. Der einzige Nachteil von Fish ist, dass man nicht durch die Historie ähnlicher Befehle blättern kann, sobald ein Vorschlag gemacht wurde (was eine nette Funktion wäre).

Eine wirklich coole Sache, die man mit Fish machen kann, ist, dass man Vorschläge für Befehle bekommt, die auf dem basieren, was man eingibt. Sagen wir zum Beispiel, es gibt ein ssh-Tool, das Sie benutzen wollen, aber Sie können sich nicht an den Namen des Befehls erinnern (aber Sie wissen, dass er mit „ssh“ beginnt). Geben Sie ssh ein und drücken Sie dann die Tabulatortaste. Fish wird Ihnen Vorschläge unterbreiten, von denen einer der gesuchte Befehl sein könnte (Abbildung 3).

Abbildung 3: Vorschläge für Fish-Befehle.

Es gibt so viele Dinge, die Sie mit Fish tun können. Um sie alle zu lernen, ist es am besten, das offizielle Fish-Tutorial durchzuarbeiten (das viele Beispiele bietet, die Ihre Fish-Erfahrung stärken werden).

Wenn Sie mit der Fish-Eingabeaufforderung fertig sind, können Sie zur Bash zurückkehren, indem Sie exit eingeben.

Fish konfigurieren

Eine Aufgabe, die Sie auf jeden Fall übernehmen sollten, ist die Konfiguration. Von Haus aus ist fish ein unglaublich leistungsfähiges und praktisches Werkzeug, das man benutzen kann. Fish bietet jedoch eine Vielzahl von Anpassungen, die mit dem webbasierten Konfigurationstool vorgenommen werden können. Um zur Webschnittstelle zu gelangen, rufen Sie die fish-Shell auf und geben dann fish_config ein. Drücken Sie die Eingabetaste auf Ihrer Tastatur und Ihr Standardbrowser öffnet die fish-Konfigurationsseite (Abbildung 4).

Abbildung 4: Das webbasierte Konfigurationswerkzeug von fish.

Ich empfehle dringend, Ihre fish-Eingabeaufforderung so zu ändern, dass die Unterschiede zwischen ihr und der Standard-Eingabeaufforderung nicht so subtil sind. Klicken Sie dazu auf die Registerkarte „Eingabeaufforderung“, scrollen Sie nach unten, bis Sie einen Stil gefunden haben, der Ihnen zusagt, wählen Sie diese Eingabeaufforderung aus und klicken Sie dann auf die Schaltfläche „Eingabeaufforderung einstellen“ (Abbildung 5).

Abbildung 5: Unterscheidung der Fish-Eingabeaufforderung von der Bash-Eingabeaufforderung.

Nachdem Sie die Änderungen vorgenommen haben, schließen Sie das Browserfenster (oder die Registerkarte), kehren Sie zu Ihrem Terminalfenster zurück und drücken Sie die Eingabetaste. Die neue Konfiguration der Eingabeaufforderung wird übernommen, und Sie können loslegen.

Es gibt noch eine ganze Reihe weiterer Optionen, die Sie in dem webbasierten Tool konfigurieren können. Von hier aus können Sie auch Abkürzungen (Aliase) für Befehle einrichten. Dies kann auch von der Eingabeaufforderung aus geschehen, aber die Verwendung der webbasierten Schnittstelle macht es etwas einfacher. Nehmen wir an, Sie benutzen regelmäßig ssh zu einem bestimmten Server mit dem Befehl:

ssh -v [email protected]

Mit Abkürzungen könnten Sie das abkürzen zu, sagen wir, ssho. Dann brauchen Sie nur noch ssho (in der Fish-Shell) einzugeben und die Eingabetaste zu drücken, und der vollständige Befehl wird ausgeführt. Um eine Abkürzung zu erstellen, führen Sie den Befehl fish_config (von der Fisch-Eingabeaufforderung aus) aus, wechseln Sie zur Registerkarte Abkürzungen im webbasierten Tool und geben Sie dann Ihre Abkürzung in den linken Textbereich und den vollständigen Befehl in den rechten Textbereich ein (Abbildung 6). Klicken Sie auf die Schaltfläche „Speichern“, und schon ist Ihre Abkürzung fertig.

Abbildung 6: Hinzufügen einer Befehlsabkürzung für noch mehr Fisch-Effizienz.

Sichern Sie sich, dass Sie das Browser-Fenster (oder die Registerkarte) schließen und dann die Eingabetaste (auf Ihrer Tastatur) an der Fisch-Eingabeaufforderung drücken.

Lernen Sie weiter

Um das meiste aus Fish herauszuholen, sollten Sie die offizielle Fish-Dokumentation lesen (geben Sie einfach help am Fish-Prompt ein und drücken Sie Enter). Sie werden angenehm überrascht sein, wie viel diese Shell für Sie tun kann.

Merken Sie sich mein Wort, die fish-Eingabeaufforderung wird sehr schnell zu einem unverzichtbaren Werkzeug werden, das Sie bei Ihren täglichen Linux-Verwaltungsaufgaben unterstützt.

Lernen Sie mehr über Linux durch den kostenlosen Kurs „Introduction to Linux“ von The Linux Foundation und edX.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.