Was ist eine Shell?
Wenn Menschen mit Computern arbeiten, brauchen sie eine Schnittstelle, damit sich Mensch und Maschine verstehen. Diese Schnittstelle wird als Shell bezeichnet. Ohne sie ist eine Interaktion zwischen Menschen und Computern nicht möglich. Was eine Shell genau ist, welche Arten es gibt und wie sie funktionieren, erfahren Sie im folgenden Beitrag.
Eine Shell ist ein spezielles Softwareprogramm, das eine Benutzeroberfläche bereitstellt, über die Computernutzer mit dem Betriebssystem des Computers interagieren und den Zugriff auf die Dienste des Betriebssystems erhalten. Sie dienen als Mensch-Maschine-Schnittstelle, abgekürzt MMS auf Englisch HMI für Human-Machine Interface. Schells nutzen den Kern des Computerbetriebssystems genauso wie andere Anwendungsprogramme. Übersetzt bedeutet es „Muschel“, „Schale“ oder „Hülle“. Eine Shell umgibt bildlich gesprochen den Kern (Kernel) eines Betriebssystems wie eine Hülle oder Muschel. Shells stellen entweder eine Befehlszeilenschnittstelle (CLI, Command Line Interface) oder eine grafische Benutzeroberfläche (GUI, Graphical User Interface) für die Interaktion zur Verfügung.
Befehlszeilen-Shell
Eine Befehlszeilen-Shell, der Command Line Interpreter stellt Nutzern nach dem Start ein Eingabefenster zur Verfügung. In dieses Fenster können Computernutzer über die Tastatur zeilenweise Befehle in Form alphanumerischer Zeichnen eingeben. Diese analysiert in einem ersten Schritt die eingegebenen Zeichnen. Wenn sie die Zeichenfolge nicht erkennen kann, wird in der Regel eine Fehlermeldung ausgegeben. Nach einer korrekten Eingabe veranlasst die Shell das Betriebssystem den oder die eingegebenen Befehle auszuführen. Beispielsweise die Anmeldung des Benutzers, den Start eines Anwendungsprogramms oder die Auflistung von Dateien. In einem letzten Schritt verarbeitet die Shell die Ausgabe des Betriebssystems und informiert den Nutzer durch eine entsprechende Ausgabe über das Ergebnis. Beispielsweise eine Liste der gesuchten Dateien.
Verschiedene Arten
Da es sich bei einem Command Line Interpreter um ein eigenständiges Programm handelt, kann es relativ leicht durch eine andere ersetzt werden. Aus diesem Grund stehen für Unix und Unix ähnliche Betriebssysteme eine ganze Reihe verschiedener Shells, beispielsweise Bash, TENEX-C-Shell oder Z Shell zur Verfügung. Jede dieser Shells erfordert teilweise andere Befehle und hat eine eigene Syntax. In der Regel werden Command Line Interpreter daher nur von erfahrenen Anwendern genutzt. Sie bieten jedoch den Vorteil einer direkten Kontrolle und ermöglichen leichten Zugang zu allen Funktionen des Betriebssystems. Ein weiterer Vorteil ist, dass in einigen Shells häufig verwendete Befehlsfolgen automatisiert werden können. Beispielsweise durch Batch-Dateien, Makros oder eine Stapelverarbeitung. Dies ist bei grafischen Shells nicht oder nur schwer möglich.
Ein Command Line Interpreter wird nicht nur von Unix-Betriebssystemen zur Verfügung gestellt. Auch andere Betriebssysteme wie MS-DOS, PC-DOS oder DR-DOS wurden mit einem command.com genannten Befehlszeileninterpreter ausgeliefert. Microsoft hat auch seine Windows Betriebssysteme ab Windows XP mit einem als PowerShell bezeichneten Kommandozeileninterpreter ausgestattet. Einige Programmiersprachen wie beispielsweise Ruby, Perl, Phyton und BASIC sowie Anwendungsprogramme wie AutoCad nutzen interaktive Shells. Andere Bezeichnungen für einen Command Line Interpreter sind Command Line Shell, Kommandointerpreter, Befehlsinterpreter oder kurz Kommandozeile.
Grafische Shell
Eine grafische Shell erleichtert die Benutzung von Computern durch die Bereitstellung einer grafischen Benutzeroberfläche, dem Graphical User Interface. Diese Benutzeroberfläche enthält grafische Elemente für die Bedienung und Steuerung des Computers. Durch Klick mit dem Mauszeiger oder einen Fingertipp auf ein einzelnes Element wird ein bestimmter Vorgang, wie beispielsweise das Öffnen oder Schließen eines Anwendungsprogramms, eine Änderung der Fenstergröße oder ein Wechsel zwischen verschiedenen Fenstern ausgelöst. Um die Nutzung einer grafischen Shell zu erleichtern, werden einzelne Elemente durch Schatten, Linien und andere visuelle Effekte mit einer gewissen räumlichen Tiefe und teilweise dreidimensional dargestellt. Auch die für Schaltflächen verwendeten Icons, Bilder und Symbole veranschaulichen Nutzern, welche Funktion die Schaltfläche hat. Beschriftungen, die beispielsweise beim Überfahren einer Schaltfläche mit dem Mauszeiger eingeblendet werden, erleichtern die Bedienung zusätzliche.
Für Windows
Microsoft Windows-Betriebssysteme verwenden die Windows-Shell. Diese ist das, was Windowsnutzer sehen. Sie besteht aus einem Startmenü, einer Taskleiste und einer grafischen Benutzeroberfläche, die den Zugriff auf die Funktionen des Betriebssystems ermöglicht. Bei älteren Windows 3-Versionen war der Programmmanager die Shell. Der Programmmanager wurde bis zur Windows XP Version ausgeliefert. Ebenfalls als Shell werden Softwareprogramme bezeichnet, die die grafische Oberfläche und damit das Erscheinungsbild des Windows Explorers ändern oder ihn sogar vollkommen ersetzen. Beispiele hierfür sind Programme mit dem Namen WindowsBlinds, LiteStep und Emerge Desktop.
Eine grafische Shell hat gegenüber einem Command Line Interpreter den Vorteil, dass sie die Interaktion mit dem Betriebssystem des Computers erheblich erleichtert. Für die Benutzung einer grafischen Benutzeroberfläche sind keine besonderen Kenntnisse erforderlich. Nutzer müssen keine Syntax und Befehle lernen. Die verwendeten Symbole und bildhaften Darstellungen sind weitestgehend selbsterklärend. Der Nachteil ist, dass grafische Benutzeroberflächen deutlich mehr Systemressourcen benötigen als ein Kommandozeileninterpreter.
- Über den Autor
- Aktuelle Beiträge
Daniel Faust ist Redakteur im Content-Team der Biteno und betreut den Blog der Biteno GmbH.