Vergangen sind die Zeiten kryptischer Befehle und starrer Syntax. Warum mehr Zeit damit verbringen, Man Pages zu entschlüsseln, als Skripte zu schreiben oder Ihr System zu navigieren? Akzeptieren Sie die Leistung und Einfachheit der Fisch-Shell, Ihr Ticket zu einer reibungsloseren, intuitiveren Linux-Erfahrung.
Lernen Sie, Ihre Linux-Reise mit der Fisch-Shell zu transformieren, von ihrer benutzerfreundlichen Oberfläche bis hin zu ihren umfangreichen Anpassungsoptionen.
Sagen Sie hallo zu schlankeren Workflows und einem neuen Selbstbewusstsein in Ihren Linux-Fähigkeiten!
Voraussetzungen
Bevor Sie beginnen, nehmen Sie sich einen Moment Zeit, um sicherzustellen, dass Sie die folgenden Grundlagen abgedeckt haben, um diesem Tutorial folgen zu können:
- Fisch-Shell ist auf Ihrem Computer installiert – Dieses Tutorial verwendet fish-3.7.0, die neueste Version zum Zeitpunkt dieses Schreibens.
- A Linux system – This tutorial uses an Ubuntu 22.04 LTS for demonstrations, but other distributions will work.
Erkunden von Befehlsvalidierungen, Autocompletion und Vorschlägen
Mit der installierten Fisch-Shell tauchen Sie ein in die Fisch-Shell für nahtlose Befehlsausführungen. Die Fisch-Shell bietet Echtzeit-Feedback und kontextsensitive Vorschläge für Befehle, Dateinamen und Argumente.
Aber zuerst müssen Sie auf die Fisch-Shell zugreifen, bevor Sie Befehlsvalidierungen, Autocompletion und Vorschläge untersuchen können.
Um dieses Feature zu erkunden, das es Ihnen ermöglicht, Fehler zu identifizieren und zu korrigieren, bevor Sie sie überhaupt ausführen, führen Sie Folgendes aus:
1. Öffnen Sie ein Terminal und führen Sie den folgenden Befehl aus, um auf die Fish-Shell zuzugreifen.

2. Tippen Sie dann den ersten Buchstaben des ls
-Befehls ein, um zu versuchen, alle Dateien in Ihrem aktuellen Verzeichnis aufzulisten.
Wie unten gezeigt, wird der Buchstabe ‚l‚ rot dargestellt, da die Fish-Shell ihn nicht als gültigen Befehl erkennt. Diese sofortige visuelle Rückmeldung zeigt an, dass etwas mit dem Befehl nicht stimmt.
Aber keine Sorge! Dank der automatischen Vorschläge wird der Buchstabe ‚s‚ gedämpft angezeigt und deutet auf den richtigen Befehl hin.

3. Drücken Sie nun die rechte Pfeiltaste oder die Tastenkombination Strg+F, um den vorgeschlagenen ls
-Befehl zu akzeptieren.
Bemerken Sie, wie sich der Buchstabe ‚l‘ von rot zu blau ändert, weil die Fish-Shell Ihren Befehl jetzt als ls
erkennt.

Definition von Befehlsaliasen in der Fish-Konfigurationsdatei
Neben Echtzeit-Feedback und kontextsensitiven Vorschlägen bietet Fish eine leistungsstarke und flexible Möglichkeit, Ihre Befehlszeilenumgebung anzupassen – die Fish-Konfigurationsdatei. Im Gegensatz zu anderen Shells, die möglicherweise mehrere Konfigurationsdateien verwenden, verwendet Fish hauptsächlich eine einzige Datei namens config.fish im Verzeichnis ~/.config/fish/.
Um zu sehen, wie Konfigurationen die Fish-Shell beeinflussen, beginnen Sie mit der Definition von Befehlsaliasen wie folgt:
1. Öffnen Sie die Fish-Konfigurationsdatei mit Ihrem bevorzugten Code- oder Texteditor, wie nano
oder vim
, aber dieses Tutorial verwendet ersteres.
Sobald geöffnet, sehen Sie den initialen Inhalt der Konfigurationsdatei der Fisch-Shell, die Standardkonfigurationen enthalten oder relativ leer sein kann. Dieser Ausgangszustand hängt davon ab, ob Sie oder der Einrichtungsprozess Ihres Systems zuvor Konfigurationen hinzugefügt haben.
Die Datei könnte nur Kommentare oder grundlegende bedingte Blöcke für neue Installationen enthalten, wie den folgenden.

2. Fügen Sie innerhalb des if
-Blocks die folgende Funktion
hinzu, speichern Sie die Änderungen und schließen Sie den Editor.
Zu diesem Zeitpunkt erstellen Sie benutzerdefinierte Einstellungen in der Konfigurationsdatei der Fisch-Shell, und diese Funktion definiert ein Alias (c
) für den Befehl clear
.
? Hinweis: Jede definierte Funktion hat eine entsprechende .fish-Datei im Verzeichnis ~/.config/fish/functions/ (d.h. c.fish).

clear
command3. Führen Sie den folgenden Befehl aus, um die Konfigurationsdatei (config.fish
) zu sourcen
.
Dieser Befehl hat keine Ausgabe im Terminal, sondern wendet die Konfigurationsänderungen auf Ihre aktuelle Sitzung an.
? Diese Fish-Konfigurationsdatei wird automatisch jedes Mal ausgeführt, wenn eine neue Fish-Sitzung gestartet wird und ist der perfekte Ort, um Shell-Anpassungen zu definieren.
4. Geben Sie anschließend c
in die Eingabeaufforderung ein, um Ihre Änderungen zu überprüfen.
Beachten Sie, dass der Buchstabe ‘c‘ blau wird, da die Fish-Shell ihn als den clear
Befehl erkennt. Dieses Verhalten zeigt eine erfolgreiche Änderung in der Fish-Konfiguration an.
Sehen Sie, wie der Buchstabe ‘c’ blau wird? Diese Änderung erfolgt, weil die Fish-Shell weiß, dass der Buchstabe ‘c’ der clear
Befehl ist. Dieses Verhalten signalisiert ein erfolgreiches Update in Ihrer Fish-Konfiguration.
Warum nicht noch einige weitere Aliase für jene vertrauten Befehle einrichten, zu denen Sie immer wieder zurückkehren, wenn die Stimmung es erfordert?

clear
command worksDas Fish-Shell-Prompt anpassen
Neben dem Einrichten von Aliasen für reibungslosere Abläufe gibt Ihnen Fish die Möglichkeit, Ihr Prompt anzupassen, wie etwa eine persönliche Note zu Ihrem Shell hinzuzufügen. Statt langer Verzeichnispfade genießen Sie ein saubereres, besser organisiertes Prompt.
Um das Fish-Shell-Prompt zu personalisieren, führen Sie die folgenden Aktionen aus:
1. Öffnen Sie die Fish-Konfigurationsdatei (~/.config/fish/config.fish), und fügen Sie die folgende Funktion hinzu.
Diese Funktion passt Ihr Fish-Shell-Prompt an, um ein Dollarzeichen ($
) gefolgt von einem Leerzeichen anzuzeigen.

2. Speichern Sie die Änderungen in der Fisch-Konfigurationsdatei und beenden Sie den Editor.
3. Jetzt müssen Sie die Konfigurationsdatei mit source
neu laden, um Ihre Änderungen zu übernehmen.
Nach dem Neuladen werden Sie feststellen, dass sich die Prompt-Änderungen wie im folgenden Screenshot gezeigt haben.

Änderungen über Sitzungen hinweg beibehalten
Sie haben gesehen, wie Sie Anpassungen in der Fisch-Shell vornehmen können. Aber eine Sache ist zu beachten: Diese Einstellungen sind nur in der aktuellen Sitzung verfügbar.
Was passiert, wenn Sie die aktuelle Sitzung schließen und eine neue öffnen? Zack! Ihre sorgfältig erstellten Konfigurationen sind alle weg – ärgerlich, oder? Aber keine Sorge, es gibt noch Hoffnung. Lassen Sie den Befehl funcsave
Ihre Konfigurationen vor dem Vergessen retten!
Um Ihre Konfigurationen über Sitzungen hinweg beizubehalten, fahren Sie wie folgt fort:
1. Öffnen Sie die Fisch-Konfigurationsdatei und fügen Sie den funcsave
-Befehl zu jeder function
zusammen mit dem Funktionsnamen hinzu, wie folgt:

funcsave
command to persist functions across sessions2. Speichern Sie Ihre Änderungen und schließen Sie den Editor und das Terminal.
3. Öffnen Sie eine neue Terminal-Sitzung und führen Sie den folgenden fish
-Befehl aus, um auf die Fisch-Shell zuzugreifen.
Wenn die von Ihnen angehängten funcsave
-Befehle funktionieren, um Ihre Konfigurationen zu persistieren, sehen Sie Nachrichten wie die folgenden.

Einstellen und Persistieren von Umgebungsvariablen
Während persistente Funktionen großartig sind, bringt die Verwaltung global zugänglicher Werte die Shell-Skripting auf ein höheres Niveau – das Setzen von Umgebungsvariablen. Im Gegensatz zu traditionellen Shells, die auf export
setzen, verwendet fish set
mit Optionen, um den Variablenscope und das Exportverhalten zu steuern.
Aber es gibt einen Haken, wissen Sie? Ah, Sie haben es richtig erraten! Eine über den Befehl set
in der Terminal gesetzte Variable ist nur in der aktuellen Sitzung zugänglich.
Um Umgebungsvariablen zu setzen und zu persistieren, kommt die -gx
-Flag wie folgt zum Einsatz:
1. Fügen Sie den folgenden Befehl hinzu, um die Variable MY_VARIABLE
in der Fish-Konfigurationsdatei global zu setzen. Hier ist, wie die -gx
-Flag funktioniert:
-g
– Macht die Variable global, zugänglich von jedem Scope innerhalb derselben Benutzerumgebung.-x
– Exportiert die Variable, sodass sie für externe Befehle oder Programme, die von Fish gestartet wurden, verfügbar ist.

2. Speichern Sie die Konfigurationsänderungen und schließen Sie dann den Editor und das Terminal.
3. Öffnen Sie eine neue Terminal-Sitzung, greifen Sie auf die Fish-Shell zu und führen Sie den folgenden Befehl aus, um die Änderungen zu bestätigen.
Die Ausgabe unten bestätigt, dass die Änderungen in allen Sitzungen wirksam geworden sind.

4. Nach Bestätigung füge folgenden set
-Befehl zur Fish-Konfigurationsdatei hinzu, speichere die Änderungen und schließe den Editor.
Dieser Befehl macht die Variable MY_UNIVERSAL_VARIABLE
global für alle Sitzungen, auch nach Neustarts.
Sieh unten, wie der -Ux
-Flag funktioniert:
-U
– Macht die VariableMY_UNIVERSAL_VARIABLE
universell und stellt sicher, dass sie in allen aktuellen und zukünftigen Terminal-Sitzungen gemeinsam genutzt wird, einschließlich solcher von verschiedenen Benutzern.-x
– Die Variable wird an Kindprozesse exportiert und ist somit für alle Befehle oder Skripte, die aus der aktuellen Sitzung aufgerufen werden, zugänglich.

5. Öffne eine neue Terminal-Sitzung, greife auf die Fish-Shell zu und führe den folgenden echo
-Befehl aus, um die Änderungen zu überprüfen.
Wenn alles gut läuft, erhältst du die folgende Ausgabe, was darauf hindeutet, dass die Änderungen in allen Sitzungen wirksam geworden sind.

? Über die Fish-Konfigurationsdatei hinaus kannst du
fish_config
im Terminal für schnelle und automatische Anpassungen nutzen. Dieser Befehl startet eine Webschnittstelle in deinem Browser, die prompte Anpassungen, Einstellungstweaks sowie die Verwaltung von Funktionen und Variablen in einem benutzerfreundlichen Setup ermöglicht.
Verwaltung von Fish-Plugins mit dem Fisher-Paketmanager
Die Fish-Shell ist schon beeindruckend, nicht wahr? Aber weißt du was? Wenn du anfängst, Plugins zu integrieren, wird sie noch leistungsstärker. Diese Plugins erweitern die Fähigkeiten der Fish-Shell und bringen neue Befehle, Dienstprogramme und Integrationen, um deine Befehlszeilen-Erfahrung deutlich zu verbessern.
Ein gutes Beispiel ist Fisher, ein Paketmanager, der für die Fish-Shell entwickelt wurde. Dieses Plugin ist auf Leistung und Einfachheit ausgelegt und ist leichtgewichtig.
? Fisher ist leichtgewichtig in der Verwaltung von Fish-Shell-Plugins und kann nicht direkt mit systemweiten Paketmanagern verglichen werden. Dieser Unterschied zeigt sich in der Größe und Komplexität der von ihm verwalteten Pakete.
Um Fish-Plugins zu verwalten, musst du zunächst Fisher gemäß den angegebenen Schritten installieren:
Öffne dein Terminal, greife auf die Fish-Shell zu und führe den folgenden Befehl aus, um Fisher herunterzuladen und zu installieren. Dieser Befehl holt das Fisher-Installationsskript und leitet es an source
weiter, das das Skript in der aktuellen Fish-Shell-Sitzung über curl
ausführt.
Nach der Installation siehst du folgende Ausgabe.

Führe nun den folgenden Befehl fisher
aus, um die Installation zu bestätigen, indem du dir die aktuell installierte --version
von Fisher auf deinem System ansiehst.

Installation des GitNow-Plugins
Nun, da du Fisher zum Laufen gebracht hast, was kommt als nächstes? Wie wäre es, dein Fish-Shell mit einigen coolen Plugins aufzumotzen? GitNow zum Beispiel ist ein Toolkit, das deinen Git-Workflow innerhalb der Fish-Shell verbessert – verlockend.
GitNow bietet vereinfachte Befehle für routinemäßige Git-Aufgaben, um die Produktivität zu steigern und deine Git-Befehlsroutine zu vereinfachen.
Um GitNow mit dem Fisher-Paketmanager zu installieren, befolge diese Schritte:
1. Führe in deiner Fish-Shell den folgenden fisher
-Befehl aus, um das GitNow-Plugin (joseluisq/gitnow
) zu installieren
.
Dieser Befehl sagt Fisher, GitNow herunterzuladen und in deine Fish-Konfiguration zu integrieren, damit die Vielzahl von Git-Verknüpfungen sofort verfügbar ist.

2. Nach der Installation führe den unten stehenden gitnow
-Befehl aus, um zu bestätigen, dass GitNow korrekt installiert ist.
Dieser Befehl zeigt die aktuell installierte Version von GitNow an, aber nur, wenn GitNow-Befehle in deiner Shell erkannt werden.

3. Führe schließlich diesen fisher
-Befehl aus, um alle Plugins aufzulisten, die Fisher verwaltet, einschließlich GitNow.
Unten siehst du das GitNow-Plugin und das Fisher-Plugin selbst.

Entfernen von Fish-Shell-Plugins
Ertrinkt deine Fish-Shell in Plugins? Wie wenn du durch das Durcheinander wühlst, um zu finden, was du brauchst? Räume deine Fish-Shell-Umgebung auf, indem du unnötige Plugins entfernst.
Um ein von Fisher verwaltetes Plugin in Ihrer Fisch-Shell zu entfernen, gehen Sie wie folgt vor:
1. Führen Sie den folgenden Befehl aus, um alle derzeit installierten Plugins aufzulisten.
Wählen Sie eines aus der Liste aus, das Sie entfernen möchten.

2. Führen Sie anschließend den folgenden Befehl fisher remove
aus, gefolgt vom Plugin-Namen (joseluisq/gitnow
), das Sie entfernen möchten.
Dieser Befehl teilt Fisher mit, das GitNow-Plugin aus Ihrer Fisch-Shell-Umgebung zu deinstallieren.

3. Führen Sie nun erneut den Befehl fisher list
aus, um zu bestätigen, dass das GitNow-Plugin erfolgreich entfernt wurde.
Das GitNow-Plugin sollte nicht mehr in der Liste der installierten Plugins erscheinen.

Deinstallation des Fisher-Paketmanagers
Wie Sie gesehen haben, ist der Fisher-Paketmanager wirklich praktisch. Aber wenn Sie unzufrieden sind oder Probleme mit Fisher haben, kann die Deinstallation die beste Wahl sein.
Um Fisher vollständig aus Ihrer Fisch-Shell zu deinstallieren, führen Sie Folgendes aus:
Führen Sie den folgenden Befehl aus, um fisher
und alle installierten Plugins über Fisher aufzulisten und zu entfernen.

Alternativ führen Sie den folgenden Befehl aus, um nur fisher
selbst zu entfernen.

Erkundung des Oh My Fish Paketmanagers
Wenn Sie bereits mit Fisher unterwegs sind, warum sollten Sie Oh My Fish in Betracht ziehen? Sie haben die Leistung von Fish-Shell-Plugins mit Fisher erlebt. Aber hier ist der Clou: Dieses Framework eröffnet eine neue Dimension der Anpassung für die Fish-Shell und bietet eine umfangreiche Sammlung von Themen und Plugins.
Um zu sehen, was Oh My Fish für Sie bereithält, installieren Sie zuerst diesen Paketmanager mit folgendem Befehl:
Führen Sie den folgenden curl
-Befehl aus, um das Oh-My-Fish-Installationsskript (https://get.oh-my.fish
) innerhalb der fish
-Shell herunterzuladen und auszuführen.
Bei erfolgreicher Ausführung erhalten Sie eine Ausgabe ähnlich wie die folgende.

Nach der Installation führen Sie den folgenden omf
-Befehl aus, um die installierte Version von Oh My Fish zu überprüfen.
A successful response, as shown below, indicates that Oh My Fish is ready and waiting to transform your fish shell experience.

Anpassung der Umgebung mit Oh My Fish-Themes
Sind Sie es leid, immer dasselbe Aussehen der Fish-Shell zu haben? Warum nicht eine Prise Persönlichkeit hinzufügen? Geben Sie Ihrer Fish-Shell-Umgebung mit frischen, personalisierten Themen von Oh My Fish ein Makeover.
Um Ihre Fish-Shell-Umgebung anzupassen, müssen Sie Themen mit folgenden Schritten installieren:
1. Öffnen Sie die Fish-Konfigurationsdatei und entfernen Sie die fish_prompt
-Funktion, die definiert, wie Ihr Prompt angezeigt wird. Dadurch wird sichergestellt, dass Ihr individuelles Prompt nicht mit den von Oh My Fish bereitgestellten Themen in Konflikt gerät oder diese überschreibt.
? Themen werden mit einzigartigen Aufforderungen geliefert, die für ihr Aussehen und ihre Funktion entscheidend sind. Durch Deaktivieren Ihrer benutzerdefinierten Aufforderung (
fish_prompt
) stellen Sie sicher, dass Ihr ausgewähltes Oh My Fish-Theme sein Design und seine Funktionen vollständig in Ihre Fisch-Shell integriert.
2. Löschen Sie anschließend (rm
) die Datei ~/.config/fish/functions/fish_prompt.fish
. Dieser Befehl hat keine Ausgabe, aber das Löschen dieser Datei stellt sicher, dass die Fisch-Shell auf ihre Standardaufforderung zurückgesetzt wird.
3. Führen Sie diesen source
-Befehl aus, damit die Änderungen in der Fisch-Konfigurationsdatei wirksam werden.

4. Führen Sie nun den folgenden omf
-Befehl aus, um das perfekte Theme
für Ihre Fisch-Shell zu entdecken.
Wählen Sie ein Theme aus, das Sie in die Fisch-Shell integrieren möchten (z.B. cbjohnson).
? Besuchen Sie das offizielle GitHub-Repository für Oh My Shell-Themes, um zu sehen, wie jedes Theme aussieht, bevor Sie es installieren.

? Verbessern Sie Ihre Fisch-Shell, indem Sie Plugins mit dem folgenden Befehl installieren, um Plugins zu installieren. Besuchen Sie das OMF GitHub-Repository für eine Liste der zu installierenden Plugins.
omf install <plugin_name>
5. Führen Sie anschließend den folgenden Befehl aus, um das Theme, das Sie in Schritt vier ausgewählt haben (cbjohnson), zu installieren
.
Nach der Installation ändert sich Ihre Aufforderung sofort, wie folgt.

? Tipp: Wechseln Sie schnell zwischen Themen, wenn Sie zwei oder mehr haben, indem Sie den folgenden Befehl ausführen.
omf theme <theme_name>
Deinstallation von Oh My Fish
Oh My Fish ist eine Bereicherung für das Shell-Erlebnis. Wenn Sie jedoch jemals eine Veränderung wünschen oder etwas Neues ausprobieren möchten, ermöglicht die Deinstallation von Oh My Fish einen frischen Start Ihrer Fish-Shell.
Um Oh My Fish zu deinstallieren, führen Sie folgende Schritte aus:
1. Führen Sie die folgenden rm
-Befehle aus, um alle mit Oh My Fish verbundenen Dateien zu löschen.
Nach dem Entfernen sehen Sie, dass Ihr ursprünglich installiertes Thema verschwindet.

2. Führen Sie anschließend jeden der folgenden Befehle aus, um weitere mit Oh My Fish verbundene Dateien zu löschen.
Diese Befehle geben keine Ausgabe aus, aber das Löschen dieser Dateien stellt sicher, dass alle Reste von Oh My Fish von Ihrem System entfernt werden.
3. Führen Sie nun den folgenden omf
-Befehl aus, um die Löschung zu überprüfen.
Sie sehen einen Fehler ähnlich dem folgenden, der besagt, dass der omf
-Befehl nicht gefunden wurde und dass Oh My Fish vollständig deinstalliert wurde.

Einstellung von Fish als Standard-Shell
Wenn Ihnen die Erfahrung mit der Fish-Shell gefallen hat und Sie sie zur Verbesserung Ihres Linux-Erlebnisses verwendet haben, warum setzen Sie sie nicht als Standard-Shell? Auf diese Weise sparen Sie sich das Ärgernis des Wechselns, wenn Sie ein neues Terminal öffnen.
Um Fish als Ihre Standard-Shell einzurichten, erfüllen Sie die folgenden Schritte:
1. Führen Sie den folgenden Befehl aus, um den Pfad der fish
-Shell zu finden.
Kopieren Sie den Pfad in die Zwischenablage, da Sie ihn in den folgenden Schritten benötigen werden.

2. Führen Sie als nächstes den folgenden Befehl aus, um fish zur Liste der akzeptierten Shells in /etc/shells
hinzuzufügen.

3. Führen Sie schließlich den folgenden Befehl des chsh
aus, um Ihre Standardshell auf fish (/usr/bin/fish
) zu ändern.
Wenn Sie Ihren Computer neu starten, wird fish Ihre Standardshell sein.

? Tipp: Wechseln Sie von fish zu einer anderen Shell wie Bash als Standard, indem Sie alle Schritte in diesem Abschnitt wiederholen. Stellen Sie sicher, dass Sie den Pfad zu Bash in Schritten zwei und drei angeben und starten Sie dann Ihren Computer neu, damit die Änderungen wirksam werden..
Conclusion
In diesem Tutorial haben Sie tief in die Essenz der fish-Shell eingetaucht und ihre leistungsstarken Funktionen und anpassbaren Optionen entdeckt. Vom Definieren von Aliassen über die Anpassung von Eingabeaufforderungen und die Persistenz von Umgebungsvariablen bis hin zur Verwaltung von Plugins war die fish-Shell Ihr verlässlicher Begleiter.
Sie haben Einblicke gewonnen, wie Sie Ihre Linux-Erfahrung mit dem Paketmanager Oh My Fish transformieren können. Darüber hinaus haben Sie gelernt, wie Sie mühelos neue Plugins und Themes entdecken und installieren können, um die Funktionalität und Ästhetik Ihrer fish-Shell-Umgebung zu erweitern.
Jetzt, da du die Grundlagen der Fisch-Shell erkundet hast, tauche tiefer ein und entfessle ihr volles Potenzial. Warum experimentierst du nicht mit benutzerdefinierten Prompts wie Powerline oder Starship, um deiner Shell eine persönliche Note zu verleihen?