Als die Shell («Muschel») wird die meistens sichtbare Benutzeroberfläche mit der Benutzerumgebung bezeichnet. Diese ist bei jedem Betriebssystem unterschiedlich, es gibt jedoch zwei grundsätzliche Unterschiede:
- kommandzeilenorientiert mit Eingabeaufforderung
- grafische Umgebung / Oberfläche (GUI)
Kommandozeile
Der
Lernaufwand bei der
kommandozeilenorientierten Verwendung ist ein
vielfaches höher als bei einem GUI. Auf der Kommandozeile wartet der Rechner bzw. der Kommandointerpreter hinter dem Prompt geduldig auf den nächsten Befehl, gibt von sich aus keine Hilfe und «verdankt» Fehleingaben meistens auch nur mit knappen Kommentaren. Kommentare, die von Programmierern entwickelt wurden und meistens auch nur von Technikern verstanden werden.
Die Arbeit auf der Kommandozeile erfolgt somit über die Eingabe von einzelnen Befehlen und Parametern (jeweils getrennt durch ein Trennzeichen wie beispielsweise '/') nach einem sogenannten Prompt. Das Prompt-Symbol wird auch Bereitschaftszeichen genannt, es stellt die Bereitschaft für den nächsten Befehl dar:
C:\Programme\Microsoft ActiveSync>dir m*.* /s /p
Datenträger in Laufwerk C: ist System
Volumeseriennummer: DC73-8D7A
Verzeichnis von C:\Programme\Microsoft ActiveSync
15.11.2005 20:14 118'784 MailSync.dll
...
04.01.2005 11:27 120 Mobiles Gerät.lnk
06.12.2004 13:07 128'000 msconv97.dll
14.06.2005 18:12 499'712 msvcp71.dll
06.12.2004 13:07 259'072 mswrd832.cnv
11 Datei(en) 3'577'144 Bytes
Anzahl der angezeigten Dateien:
11 Datei(en) 3'577'144 Bytes
0 Verzeichnis(se), 39'025'475'584 Bytes frei
C:\Programme\Microsoft ActiveSync>_
Bei allen aktuellen Betriebssystemen (Windows, LINUX, Mac OS X usw.) stehen kommandozeilenorientierte Benutzeroberflächen zur Verfügung, allerdings werden diese als Eingabefenster auf einem Desktop verwendet. Personen, welche mit Kommandozeilen umgehen können schätzen die Möglichkeiten der Kommandozeile zwischendurch als effiziente Arbeits-Unterstützung.
Das Bild oben zeigt beispielhaft ein Kommandozeilenfenster unter Windows Vista.
Grafische Benutzeroberfläche
Im Gegensatz zu einer Kommandozeile bietet eine grafische Benutzeroberfläche oder Shell eine für häufiges Arbeiten sehr angenehme Umgebung an.
Aktuelle Betriebssysteme wie Windows, Mac OS X oder LINUX
kombinieren die beiden Betriebsmodi. Auf der grafischen Oberfläche kann der Anwender ein Kommandozeilen-Fenster öffnen und verfügt so auch auf dem GUI über eine Kommando-Shell.
Windows
Bei Windows wird die grafische Benutzerschnittstelle durch den
Windows-Explorer in der Funktion des Desktop dargestellt.
Für die kommandoorientierte Shell wird von Windows eine Instanz des Programmes CMD.EXE gestartet, der Kommandozeilen-Interpreter CMD.EXE wird im Fenster zur Verfügung gestellt.
UNIX
Bei UNIX-Systemen hat die Shell mit dem kommandozeilenorientierten Modus noch eine andere Bedeutung als bei Windows. Dies hauptsächlich deshalb, weil UNIX-Systeme häufig auch im Server-Betrieb mit automatisierenden Scripts eingesetzt werden. Eine Benutzeroberfläche mit Fenstertechnik wird bei UNIX-Systemen als X-Window-System bezeichnet. Für die grafische Darstellung wird ein Server bzw. Dienst gestartet, der so genannte X-Server.
Der X-Server kann mehrere Terminals gleichzeitig bedienen, ein «Terminal» ist dabei eine Benutzer-Sitzung (Session) auf einem lokalen Rechner oder einem entfernten Rechner (verbunden über das Netzwerk bzw. das Internet) sein.
In der UNIX-Welt gibt es zahlreiche verschiedene Shells, die auch während des Betriebes vom Benutzer gewechselt werden. Dies hauptsächlich weil beispielsweise die C-Shell (CSH) andere Befehle untersützt als die TC-Shell (TCSH). Benötigt der Benutzer oder Administrator einen speziellen Befehl, so startet er flugs die andere Shell, führt den Befehl aus und kehrt mit dem EXIT-Kommando zur Ur-Shell zurück.
LINUX
Bei LINUX ist die Technik der Shells praktisch identisch wie bei UNIX-Systemen, auch sie betreiben die GUI-Shell mit einem X-Server. Bei LINUX im Trend sind zur Zeit die Oberfläche
KDE und Gnome.
Bei LINUX ist die Standard-Shell auf der Kommandozeile die BASH, die «Bourne Again Shell», entwickelt von Andy Bourne.
Automatisierung
Zahlreiche Arbeiten an einem Computer fallen regelmässig an, eine Automatisierung drängt sich auf. Automatisierungen werden in so genannten Scripts erstellt. Das Script wird von der Shell interpretiert, das bedeutet dass die Shell Befehl für Befehl aus dem Script liest in die Maschinensprache übersetzt und so ausführt.
Bei UNIX-Systemen oder LINUX werden diese Scripts deshalb
Shell-Scripts genannt, bei DOS oder Windows-Systemen ist von
Batch-Dateien die Rede.