Eine Shell ermöglicht die text- bzw. kommandobasierte Benutzung des Computersystems und ist vor allem auf unixoiden Systemen anzutreffen. Die Kombinierbarkeit von kleinen, aber leistungsfähigen und flexiblen Kommandozeilenprogrammen ist ein wichtiger Eckpfeiler der Unix-Philosophie. Dies verhilft der Shell, eigentlich ein Programm wie jedes andere, zu einem prominenten Status vor allem bei fortgeschrittenen Anwendern, die mit ihr Routinen automatisieren und permanent ein oder mehrere Instanzen einer Shell für den schnellen Zugriff offen halten.
Hinter vielen Kommandos, die teilweise sogar von der grafischen Oberfläche aufgerufen werden, verstecken sich keine Programme in Maschinen-Code, sondern per Editor einsehbare Shellscripte. Auch das trotz Upstart weiterhin beim Systemstart benutzte SysVinit (siehe auch Dienste) ruft zur Einrichtung des Laufzeitsystems letztendlich nur Shellscripte auf.
Im Artikel Terminal finden sich eine Übersicht der Anwendungen, mit denen man unter verschiedenen Desktop-Umgebungen auf eine Shell zugreifen kann.
Es gibt unter Linux mehrere verschiedene Shells. Diese unterscheiden sich in Funktionsumfang und Benutzerfreundlichkeit. Um die Loginshell des Benutzers zu wechseln, wendet man den Befehl chsh (change shell) an.
Shells | |||
Name | Beschreibung | Paket | Standard? |
Bash | Wohl weitestverbreitete Shell bei Linux-Systemen; unter Ubuntu Standard-Login-Shell/interaktive Shell | bash | ja |
Dash | Standard-Shell unter Ubuntu | dash | ja |
Fish | Shell mit der expliziten Zielsetzung Benutzerfreundlichkeit | fish (universe) | nein |
Z-Shell | Mächtige Shell mit einem sehr ausgereiften Command-Editor | zsh | nein |
Korn Shell ![]() | Funktionsreiche Shell | ksh (universe) | nein |
Einige grundlegende Hinweise zur Verwendung der Shell:
Signale in der Shell
Tipps und Tricks – Funktionen optimal nutzen
Bash-Skripting-Guide für Anfänger
Shebang für Shellskripte - Probleme, die bei der Verwendung unterschiedlicher Shells auftreten können
Eine Vielzahl von grundlegenden Befehlen für die Kommandozeile übersichtlich aufgeführt:
Eine Vielzahl von Anwendungen – von der Systemverwaltung bis zu Multimedia-Programmen – sind in dieser Übersicht aufgeführt:
Die UNIX Shell /bin/sh von Kristian Köhntopp. Nicht Linux- und Bash-spezifisch und daher eher für Administratoren geeignet, die verschiedene unixartige Systeme mit einheitlichen POSIX-konformen Skripten betreuen wollen.
Betriebssystem UNIX/Linux von Prof. Jürgen Plate. Ebenfalls eher für Administratoren geeignet, die verschiedene unixartige Systeme mit einheitlichen POSIX-konformen Skripten betreuen wollen. Teilweise mit liebevollen Grafiken anschaulich gemacht, aber mittlerweile schon einige Jahre alt.
commandlinefu.com – Zauberkunststücke auf der Kommandozeile