ubuntuusers.de

Du betrachtest eine alte Revision dieser Wikiseite.

Shell

Wiki/Icons/terminal.png 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.

Shells

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 🇬🇧 Die Korn Shell (Eigenbezeichnung KornShell, auch als ksh, ksh88 und ksh93 bezeichnet) ist ein von David Korn an den AT&T Bell Laboratories entwickelter Kommandozeileninterpreter wie auch die Beschreibung der Scriptsprache, welche durch diesen Interpreter implementiert wird. Die Sprachbeschreibung selbst ist gemeinfrei, nicht jedoch jede Implementierung. Der originale Quellcode der ksh93 ist seit 2000 ebenfalls gemeinfrei. Die KornShell (in der Version von 1988) bildete die Grundlage für die POSIX-Shell-Spezifikation und erfüllt den POSIX2-Standard. Sie ist vollständig abwärtskompatibel mit der Bourne Shell (sh bzw. bsh) und übernimmt viele Neuerungen der C Shell (csh). ksh (universe) nein
Mksh mksh ist der direkte Nachfolger der Korn Shell /bin/ksh, ist aber nicht verbunden mit der AT&T Korn Shell und deren Programmierern; vielmehr ersetzt es die Public Domain Korn Shell pdksh, und implementiert gleichzeitig die Korn Shell programming language, wie sie auch als Untermenge in der Bash vorhanden ist. Gleichzeitig enthält seit Ubuntu 12.10 das mksh-Paket die Legacy Korn Shell lksh; lksh ist ein schlanker Kommandointerpreter, mit der Intention zum Ablauf von Shell-Skripten nach dem ksh-Standard. lksh und mksh unterliegen in keinem Fall der ShellShock-Problematik. Die mksh ist an Stelle der Bash im Android-System vertreten, und nach Aussagen der Firma Google damit häufiger in UNIX-artigen Systemen vertreten als die Bash. mksh nein

Grundlagen

Einige grundlegende Hinweise zur Verwendung der Shell:

Befehlsübersicht

Eine Vielzahl von grundlegenden Befehlen für die Kommandozeile übersichtlich aufgeführt:

Um herauszufinden mit welcher Shell man im Moment arbeitet, kann man sich die Variable $SHELL anzeigen lassen:

echo $SHELL  

Alle im Moment verfügbaren Shells kann man mittels /etc/shells abfragen:

cat /etc/shells  

Zum Ändern der benutzen Login-Shell, steht das Programm chsh zur Verfügung.

Anwendungen

Eine Vielzahl von Anwendungen – von der Systemverwaltung bis zu Multimedia-Programmen – sind in dieser Übersicht aufgeführt:

Diese Revision wurde am 19. Februar 2016 20:53 von aasche erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Übersicht, Shell, System