Die 5 am häufigsten verwendeten Open-Source-Shells für Linux

Der Shell ist der Befehlsinterpreter in einem Betriebssystem wie Unix oder GNU/Linux, es ist ein Programm, das andere Programme ausführt. Er bietet einem Benutzer eine Schnittstelle zum Unix/GNU Linux-System, damit der Benutzer verschiedene Befehle oder Werkzeuge/Tools mit einigen Eingabedaten ausführen kann.

Wenn der Shell ein Programm abgeschlossen hat, sendet er eine Ausgabe an den Benutzer auf dem Bildschirm, der das Standardausgabegerät ist. Deshalb wird er auch als“Befehlsinterpreter” bezeichnet.

Der Shell ist mehr als nur ein Befehlsinterpreter, er ist auch eine eigene Programmiersprache mit vollständigen Programmierkonstrukten wie bedingter Ausführung, Schleifen, Variablen, Funktionen und vielen mehr.

Deshalb ist der Unix/GNU Linux Shell leistungsfähiger im Vergleich zum Windows Shell.

In diesem Artikel werden wir uns einige der am häufigsten verwendeten Open-Source-Shells in Unix/GNU Linux ansehen.

1. Bash Shell

Der Bash Shell, oder einfach nur“Bash“, steht für“Bourne Again SHell“. Es ist eine Erweiterung des ursprünglichen Bourne Shell (sh) und wurde1989 von Brian Fox eingeführt.

Im Laufe der Jahre ist Bash zu einem der beliebtesten und am weitesten verbreiteten Kommandozeilen-Interpreter auf vielen Linux-Distributionen und macOS (bis Catalina, danach wurde es durch zshersetzt) geworden.

Bash bietet Benutzern die Möglichkeit, Befehle auszuführen, das Dateisystem zu navigieren und Skripte auszuführen. Benutzer können Funktionen wie Befehlsverlauf, Tabulator-Vervollständigung und Skriptfähigkeiten nutzen, um Aufgaben zu automatisieren und Arbeitsabläufe zu optimieren.

Der Bash Shell hat eine zentrale Rolle bei der Entwicklung des Open-Source-Computing gespielt und bietet Benutzern eine konsistente Schnittstelle, um mit ihren Systemen zu interagieren.

Bash Shell

2. Tcsh/Csh Shell

Der Tcsh (ausgesprochen“tee-shell“) und der Csh (ausgesprochen“see-shell“) sind unixbasierte Kommandozeilen-Shells, die seit Jahrzehnten existieren. Csh, oder die C Shell, wurde in den späten1970er Jahren von Bill Joy an der University of California, Berkeley entwickelt.

Es führte mehrere Funktionen und Skriptsyntax ein, die von der Programmiersprache C inspiriert waren, was es bei Programmierern beliebt machte, die mit C vertraut waren.

Tcsh ist eine verbesserte Version der ursprünglichen Csh, die für „Tenex C Shell“ steht, wobei „Tenex“ auf das Betriebssystem TENEX verweist.

Tcsh bietet alle Funktionen von Csh zusammen mit zusätzlichen Verbesserungen wie Befehlszeileneditierung, Job-Steuerung und Befehlserkennung.

Beide Shells haben sich in der Unix-Welt als einflussreich erwiesen, wobei viele Benutzer ihre einzigartige Skriptsyntax und Funktionen zu schätzen wissen. Im Laufe der Zeit haben jedoch andere Shells wie bash aufgrund ihrer umfangreichen Funktionen und weit verbreiteten Verwendung an Popularität gewonnen.

Trotzdem bleiben Tcsh und Csh ein integraler Bestandteil der Shell-Geschichte von Unix.

Tcsh Shell

3. Ksh Shell

Der KornShell, allgemein bekannt als ksh, ist eine Unix-Shell, die von David G. Korn in den frühen 1980er Jahren bei AT&T Bell Laboratories entwickelt wurde.

Er kombiniert Funktionen sowohl aus der C-Shell (csh) als auch aus der Bourne-Shell (sh), um das Beste aus beiden Welten zu bieten. Im Laufe der Jahre wurde ksh für seine fortschrittlichen Skriptfähigkeiten gelobt und ist bei vielen Systemadministratoren und Power-Usern beliebt.

Eine der herausragenden Funktionen von ksh ist seine assoziativen Arrays, eine Funktion, die in Shells seiner Zeit nicht üblich war. Es führte auch den select-Konstrukt ein, das die Menüerstellung in Skripten einfach macht.

Ein weiterer bedeutender Vorteil sind seine Befehlszeileneditier- und Historiefähigkeiten, die später von anderen Shells wie bash übernommen wurden.

Ksh Shell

4. Zsh Shell

Die Zsh Shell, oft einfach als “ Zsh “ bezeichnet, ist eine leistungsfähige Unix-Shell, die unter Programmierern und Systemadministratoren bemerkenswerte Popularität erlangt hat.

Als Erweiterung zur Bourne Shell geboren, Zsh integriert Funktionen aus anderen Shells wie Bash, ksh und tcsh, bietet eine reiche Auswahl an Funktionen und verbesserte interaktive Verwendung.

Eine der herausragenden Funktionen von Zsh ist seine robuste Automatisierungsfähigkeiten. Im Gegensatz zu anderen Shells ist die Automatisierung von Zsh kontextbewusst und schlägt relevante Befehle, Dateipfade und sogar Git-Zweige vor, was die Benutzererfahrung reibungsloser und intuitiver macht.

Darüber hinaus ist Zsh stark anpassbar unter Verwendung des Oh My Zsh Frameworks, Benutzer können leicht Themes und Plugins anwenden, was sowohl die ästhetischen als auch die funktionalen Aspekte ihrer Terminalumgebung verbessert.

Zsh Shell

5. Fish

Fish Shell ist eine moderne, benutzerfreundliche Befehlszeilenshell, die das Ziel verfolgt, Benutzern eine interaktive und intuitive Oberfläche zur Verfügung zu stellen.

Im Gegensatz zu traditionellen Shells wie Bash oder Zsh bietet Fish intelligente Vorschläge „out of the box“, was es sowohl für Anfänger als auch für erfahrene Benutzer einfacher macht, Befehle zu navigieren und auszuführen.

Eine der herausragenden Funktionen von Fish sind seine Autovorschläge, die Echtzeit-Feedback auf der Grundlage Ihrer Befehlsgeschichte liefern und somit eine schnellere Befehlsausführung ermöglichen.

Fish bietet auch eine lebendige und farbenfrohe Oberfläche mit Syntax-Highlighting, das das Lesen und Verstehen von Befehlen erleichtert. Seine webbasierten Konfigurationsmöglichkeiten erlauben Benutzern, ihr Shell-Erlebnis ohne das Eintauchen in komplexe Konfigurationsdateien anzupassen.

Zusätzlich hat Fish eine umfangreiche und wachsende Sammlung von community-contributed Plugins und Themes, die seine Funktionalität und Erscheinung verbessern.

Fish Shell
Zusammenfassung

Dies sind nicht die einzigen Shells, die in Unix/GNU Linux verfügbar sind, aber sie gehören zu den am häufigsten verwendeten, abgesehen von denen, die vorinstalliert mit verschiedenen Linux-Distributionen geliefert werden.

I hope you find this article useful. For any additional information, please don’t hesitate to post a comment.

Source:
https://www.tecmint.com/different-types-of-linux-shells/