Die Linux- oder UNIX-Shell bezeichnet eine Benutzerschnittstelle unter Linux- und UNIX-Betriebssystemen, über die der Computeranwender Befehle und Kommandos über eine Eingabezeile eingeben und ausführen lassen kann. Die Linux- oder UNIX-Shell verarbeitet diese Eingaben anschließend und interpretiert diese, weshalb man ebenfalls von einem Kommandozeileninterpreter spricht.

Die Linux- / UNIX-Shell – Geschichte

Linux Bourne Shell

Linux Bourne Shell

Die erste Umsetzung einer Shell für UNIX- und Linux-Betriebssysteme wurde 1971 von Kenneth Thompson entwickelt und war Bestandteil der ersten UNIX- und Linux-Distributionen. Aus diesem Grund spricht man auch heute noch von der Thompson-Shell wenn in der Regel von einer Shell für UNIX- oder Linux-Betriebssysteme die Rede ist. Bis einschließlich 1979 kam die sogenannte Thompson-Shell in unveränderter Form in allen UNIX und Linux basierten Distributionen und Betriebssystemen zum Einsatz und wurde anschließend von der moderneren Bourne-Shell abgelöst. Die Bourne-Shell wurde durch Stephen R. Bourne im Jahre 1978 entwickelt und löste 1979 die Thompson-Shell als Standard für UNIX- und Linux-Betriebssysteme ab. Seit diesem Zeitpunkt spricht man sowohl von der Old-Shell (Thompson-Shell) und der New-Shell (Bourne-Shell), wenn von den unterschiedlichen Generationen der Shells die Rede ist. Da so gut wie alle aktuellen modernen Shells in der Programmiersprache C geschrieben sind, blieb eine Kompatibilität zur Bourne-Shell von nahezu 100% bis heute bestehen.

Die Linux- / UNIX-Shell – Funktionen

Nach dem Start des Linux- oder UNIX-Betriebssystems, wird die Shelleingabe vom Login-Prozess gestartet und ist bereit Befehle und Kommandos entgegenzunehmen. Nachdem die Befehle und Kommandos vom Computeranwender eingegeben wurden, werden diese von der Shell ausgeführt.

Folgende Befehle und Kommandos können von einer modernen UNIX- und Linux-Shell ausgeführt werden.

  • Das Ausführen und Starten von Kommandos und Befehlen
  • Dateinamen- und Kommandoargumente ausführen
  • Bedingungen voraussetzen wie z.B.: ‘if” und ”case”
  • Schleifen wie z.B.: ”while” und ”for”
  • interne Kommandos ausführen wie z.B.: ”cd” und ”read”
  • interne Variablen ausführen wie z.B.: ”$HOME” und ”§SYSTEM”
  • Umgangsvariablen starten
  • Neue Prozesse starten
  • Programme starten
  • Hintergrundprozesse starten und kontrollieren

Des Weiteren sind aktuelle moderne Shells in der Lage unvollständige Kommandos und Befehle zu vervollständigen, Prozesse und Kommandos zu erneuern und neu zu starten, Prozesse vom Vordergrund in den Hintergrund zu verlegen und Dateieigenschaften zu überprüfen und gegebenenfalls anzupassen.

Die Linux- / UNIX-Shell – Einsatzgebiet

Linux Thompson Shell

Linux Thompson Shell

Die Shelleingabe bietet sich vor allem für System- und Netzwerk-Administratoren an, die Befehle, Kommandos und Prozesse gerne über eine Shell eingeben wollen um somit die volle Kontrolle über das System und die im Hintergrund laufenden Prozesse haben wollen.
Die Shell findet zu meist auf Systemen mit Root-Account ihr Einsatzgebiet und ermöglicht dem Administrator den vollen Zugriff auf das zu administrierende System. Auch Privatanwender können die Vorzüge der Shell für sich nutzen, indem sie immer wiederkehrende Prozesse und Befehle via Shell automatisieren, eingeben und verwalten. Die Shell kann individuell eingesetzt werden und eignet sich vor allem für technisch versierte Anwender mit einer gewissen Grunderfahrung im Umgang mit UNIX- und Linux-Betriebssystemen und der Steuerung via Shell-Befehlen. Auch auf Systemen die ohne GUI (Graphical User Interface) auskommen müssen, kann die Shell eine sehr sinnvolle Alternative sein. Gerade ältere Systeme lassen sich ohne GUI schneller und somit hochperformant bedienen. In diesem Fall verzichtet der Administrator auf eine grafische Benutzeroberfläche und administriert das System durch den Einsatz unterschiedlicher Shells.

Schlagwörter: 
Share →

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

*

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>