Zsh - Die innovative Shell

Zsh

Zsh ist eine weitere intuitiv nutzbare Shell neben der Bash unter Linux

Informationen

Wenn der Linux-Nutzer vom Terminal, der Shell, der Konsole oder der Kommandozeile spricht meint er meist die Bash - dies ist ein Interpreter der Eingaben vom Nutzer entgegen nimmt, diese für das System übersetzt und umgekehrt Ausgaben vom System wieder verständlich an den Nutzer weiter gibt. Die Bash ist nun der meist genutzte Interpreter da auch unter den meisten Systemen standardmäßig vor-installiert, es gibt aber noch viele mehr - einer davon ist nun Zsh, dieser wurde geschaffen um die Vorteile vieler dieser Interpreter zu vereinen, in diesem Beitrag werden wir uns diese Software etwas näher ansehen.

Zsh installieren

Unter auf Debian basierenden Systemen wie Ubuntu, Kubuntu, Linux Mint und so weiter installiert man diese Software ganz einfach über die Paket-Verwaltung durch die Pakete "zsh zsh-antigen zsh-autosuggestions curl".

Zsh nutzen

Wollen wir Zsh nun ganz einfach einmal über die Bash starten und konfigurieren, als Standard setzen können wir wenn gewünscht diesen später über die Nutzer-Verwaltung wo man dann ganz einfach die Login-Shell auf Zsh setzt.

Um die Z-Shell auf dem Terminal einem Nutzer als Standard-Shell zuzuweisen nutzen Sie auf dem Terminal als Administrator den Befehl:

chsh -s /usr/bin/zsh username

Wir öffnen also ganz einfach das Terminal und geben den Befehl:

/bin/zsh

ein:

Zsh - Shell-Interpreter neben der Bash auf dem Terminal unter Linux

Zsh - Shell-Interpreter neben der Bash auf dem Terminal unter Linux

Beim ersten Start fragt uns das System ob wir die Shell Zsh erst einmal konfigurieren möchten oder nicht, natürlich wollen wir das, wir geben die Ziffer 1 ein, wir brauchen nicht einmal bestätigen - die Konfiguration leitet uns sofort in das nächste Menü:

Zsh - Shell-Interpreter neben der Bash auf dem Terminal unter Linux - Konfiguration

Zsh - Shell-Interpreter neben der Bash auf dem Terminal unter Linux - Konfiguration

Die Software fragt uns nun was wir als nächstes konfigurieren möchten, mit "(Recommended.)" gekennzeichnete Einträge sind wichtig, als erstes fragt uns die Software hier gleich einmal nach der Größe der History - also die Größe des Verlaufsspeichers, die Anzahl der zuletzt eingegebenen Befehle die sich Zsh merken soll, wir drücken also die 1:

Zsh - Shell-Interpreter neben der Bash auf dem Terminal unter Linux - Konfiguration

Zsh - Shell-Interpreter neben der Bash auf dem Terminal unter Linux - Konfiguration

Wir geben wieder die 1 ein worauf uns die Shell fragt wie viele Befehle sie sich merken soll standardmäßig sind dies 1000, wollen Sie mehr oder weniger berichtigen Sie die Anzahl und bestätigen mit der Eingabe-Taste und kehren mit der Taste q wieder ins Menü zurück. Mit der Taste 2 gehen wir nun zur Konfiguration der Vervollständigung der Befehle weiter wobei wir hier am besten dann mit der Taste 1 die Standard-Konfiguration übernehmen können. Zuletzt nutzen wir noch die Taste 3 und bestätigen mit der Taste e.

Mit der Taste 4 können wir noch zusätzliche Optionen anpassen wenn wir dies möchten, auch hier zeigt uns die Shell die entsprechenden Ziffern vor den möglichen Optionen:

Zsh - Shell-Interpreter neben der Bash auf dem Terminal unter Linux - Konfiguration

Zsh - Shell-Interpreter neben der Bash auf dem Terminal unter Linux - Konfiguration

Haben wir die Konfiguration abgeschlossen speichern wir die Konfiguration mit der Taste 0 und schon finden wir uns vor dem Prompt wieder:

Zsh - Shell-Interpreter neben der Bash auf dem Terminal unter Linux

Zsh - Shell-Interpreter neben der Bash auf dem Terminal unter Linux

Bevor wir mit der Zsh-Shell weiter gehen wollen wir uns erst einmal ein wenig um das Aussehen kümmern denn das Aussehen ist wirklich langweilig. Als erstes installieren wir uns als normaler Nutzer mit dem Befehl:

curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh

die nötige Software, ist dies geschehen beenden wir die Z-Shell mit dem Befehl:

exit

und starten diese wieder womit wir uns im neuen Prompt wieder finden:

Zsh - Shell-Interpreter neben der Bash auf dem Terminal unter Linux

Zsh - Shell-Interpreter neben der Bash auf dem Terminal unter Linux

Dieser ist zwar auch nicht wirklich aufregender - dies werden wir aber gleich ändern denn die Voraussetzungen dafür haben wir geschaffen. Durch die Installation der "Oh my zsh"-Software finden wir in unserem Home-Verzeichnis das neue versteckte Verzeichnis ".oh-my-zsh" und darin auch das Verzeichnis "themes":

Zsh - Shell-Interpreter neben der Bash auf dem Terminal unter Linux

Zsh - Shell-Interpreter neben der Bash auf dem Terminal unter Linux

Jede darin liegende Datei ist ein eigenes Thema, die Konfiguration von Zsh findet sich nun wie üblich ebenfalls im Home-Verzeichnis in der versteckten Datei ".zshrc" die wir in einem beliebigen Editor öffnen:

Zsh - Shell-Interpreter neben der Bash auf dem Terminal unter Linux

Zsh - Shell-Interpreter neben der Bash auf dem Terminal unter Linux

Hier finden wir unter anderem die Zeile:

ZSH_THEME="robbyrussell"

Unter Anführungszeichen geben wir nun den Dateinamen des Themas an und starten Zsh neu:

Zsh - Shell-Interpreter neben der Bash auf dem Terminal unter Linux

Zsh - Shell-Interpreter neben der Bash auf dem Terminal unter Linux

Im Bild oben beispielsweise das Agnoster-Thema, man probiert einfach so lange durch bis man ein Thema hat das einem gefällt. Eine bebilderte Übersicht finden Sie hier. Weitere Themas finden Sie unter Themas, laden Sie die Datei herunter und speichern die Datei mit der Endung ".zsh-theme" wieder im oben genannten Verzeichnis, schon ist das Thema verfügbar.

Nun kann man mit Zsh grundlegend genau so arbeiten wie mit der bisher bekannten Bash auch (siehe Terminal), man nutzt die selben Befehle, installiert auf die selbe Art Software, lässt sich den Inhalt von Verzeichnissen ansehen und nutzt mit der Tabulator-Taste die Vervollständigung von Befehlen, Dateien und Verzeichnissen.

Die Vorteile liegen in der Automation, möchte man auf der Bash in ein Verzeichnis wechseln und gibt die ersten Buchstaben an von denen es zwei Verzeichnisse gibt die mit den selben Buchstaben beginnen muss man zweimal die Tabulator-Taste drücken damit alle Verzeichnisse angezeigt werden, auf der Zsh nur einmal:

Zsh - Shell-Interpreter neben der Bash auf dem Terminal unter Linux

Zsh - Shell-Interpreter neben der Bash auf dem Terminal unter Linux

Gibt man die ersten Buchstaben eines Befehls an und es gibt mehrere Befehle die mit den selben Buchstaben beginnen und drückt die Tabulator-Taste werden auch hier alle Befehle angezeigt die mit den selben Buchstaben beginnen:

Zsh - Shell-Interpreter neben der Bash auf dem Terminal unter Linux

Zsh - Shell-Interpreter neben der Bash auf dem Terminal unter Linux

Doch muss man hier nicht wie auf der Bash nun den Befehl selbstständig vervollständigen sondern man drückt nochmals die Tabulator-Taste und nun kann man mit den Pfeil-Tasten zum richtigen Befehl navigieren, dieser wird nun damit vervollständigt - man braucht nur noch mit der Eingabe-Taste bestätigen.

Möchte man auf der Bash in ein Verzeichnis wechseln muss man vor dem Verzeichnis-Namen den Befehl "cd" angeben wie etwa:

cd Dokumente

Unter Zsh genügt:

Dokumente

Oder ein Verzeichnis hoch:

..

Eine vollständige Dokumentation zur Z-Shell finden Sie unter Z-Shell-WIKI.

Plugins

Wenn Sie wie oben beschrieben die Software Oh-my-zshell installiert haben verfügen Sie auch gleich über zahlreiche Plugins die diese Shell um unzählige Funktionen erweitern, gleich einmal zu Beginn - auch diese werden in der ".zshrc" aktiviert, suchen Sie die Zeile:

plugins=(git)

und fügen die Namen der Plugins in die Klammer durch ein Leerzeichen von anderen getrennt ein. Die Plugins finden sich ebenfalls im oben genannten Verzeichnis unter "plugins". Öffnen Sie die jeweiligen Verzeichnisse finden Sie das Plugin selbst sowie eine ".md"-Datei die die Beschreibung enthält:

Zsh - Shell-Interpreter neben der Bash auf dem Terminal unter Linux

Zsh - Shell-Interpreter neben der Bash auf dem Terminal unter Linux

Weiteres

Wie üblich gibt es auch für die Zsh eine eigene Manpage die mehr über die Software zeigt und sich mit dem Befehl:

man zsh

anzeigen lässt.