Shell

Aus Gemini-Wiki
Zur Navigation springen Zur Suche springen

Shell ist eine ordentliche prozedurale Programmiersprache zur Datenablage, für Operationen zum Ändern von Variablen und zur Steuerung von Programmabläufen anhand festgelegter Kontrollstrukturen. Die Shell ist damit ein Fenster zur Beobachtung und zur Beeinflussung des Computers, auf dem Unix oder Linux als Betriebssystem arbeitet. Übersetzt bedeutet Shell Muschel. In diesem Sinne umschließt die Shell das Betriebssystem wie eine Muschel. In dieser Darstellung hat die Shell Zugang zum - von der Muschel verdeckten - Betriebssystem, das dem Bediener verborgen bleibt.

Alles in der Textoberfläche

Die Shell

Der Bediener tritt über die Shell mit dem Computer in Kontakt. Über die Shell startet er Programme, ändert Dateien und erstellt möglicherweise auf einer Dreambox 8000 einen Screenshot. Für viele nur erdenkliche Arbeiten gibt es fertige Programme, die mit ihrem Namen und folgenden möglichen Parametern aufgerufen werden. Also Kommandos, die per Hand Buchstabe für Buchstabe in die Shell eingetippt werden müssen/dürfen. Über die Shell tritt der Computer aber auch in Form von Ausgaben und Meldungen mit dem Bediener in Kontakt.

Der große Vorteil der textbasierten Oberfläche ist die geringe verbrauchte Computerlast in der Kommunikation zwischen Bediender und Computer. Ein Listing aller Dateien mit vielen Informationen ist mit der Eingabe von ls -al erledigt. Eine grafische Oberfläche müsste im Gegensatz dazu zunächst eine Fensterstruktur laden, viele Festplatteninhalte einlesen, eine Menüstruktur generieren und möglicherweise sogar mit einem animierten Effekt in den Grafikspeicher schreiben, der den Inhalt schließlich bunt auf dem Bildschirm zeigt.

Mit einer textbasierten Oberfläche der Shell ist eine automatisierte Bedienung von Haus aus einfacher zu ermöglichen, da alle Kommandos auch in eigenen Programmen den eigenen Zwecken dienen können.

Sogar eine grafische Oberfläche (z.B. "X") mit bunten hüpfenden Fenstern, lustigen Knöpfen oder lästigen Mausbewegungen bedient sich im Grunde auch der Shell-Programme. Im tiefsten Inneren werden die gleichen Programme ausgeführt, wobei die grafische Umgebung allerhand drumherum optisch aufpeppt.

Steht der zu bedienende Computer lokal nicht zur Verfügung, dann kann er über ein Netzwerk z.B. per Telnet oder ssh bedient und damit ferngesteuert werden.

Verschiedene Arten

Es gibt diverse Shells auf den unterschiedlichsten Systemen. Unter Linux ist die Bash (Bourne Again Shell) sehr weit verbreitet. Auf einer Dreambox 8000 ist dagegen eine Busybox installiert.

Warum ein moderner leistungsfähige Computer ohne Grafik?

Wir wollen auf unserer Dreambox keine grafische Fensterumgebung haben, weil wir keine Ressourcen verschwenden möchten. Die gesamte verfügbare Rechenleistung soll für die eigentlichen Aufgaben der Dreambox genutzt werden. Aufbereitungen der Fernsehprogramme, Steuerung mehrerer gleichzeitiger Aufnahmen mit HD-Auflösung sind für den Benutzer eher von Bedeutung als hüpfende grafische Fenster.

Literaturhinweise

  • Linux Intern, Technik Administration und Programmierung, Data Becker, M. Wielsch, J. Prahm, H.-G. Eßer
  • Ubuntu GNU/Linux - Das umfassende Handbuch, Galileo Computing, Marcus Fischer
  • Linux User, Ausgabe 06/2000, (Un)geliebte Shell, K. Günther und B. Rohwer