Von den meisten Anwendern werden Computer heute mit Hilfe grafischer Oberflächen (GUIs) bedient, die im Vergleich zu den früher üblichen Kommando-Schnittstellen viel intuitiver sind bzw. erscheinen. Dennoch lohnt sich auch für Normalanwender eine Beschäftigung mit dem von Profis oft bevorzugten Unix-Werkzeugkasten.
Dabei handelt es sich um eine umfangreiche Sammlung kommandoorientierter Werkzeuge, die unterschiedliche Aufgaben lösen und mittels einer Shell (Kommando-Interpreter) sehr flexibel kombinierbar sind, so daß sich damit verschiedenste Probleme elegant und schnell bearbeiten lassen. Dieser Werkzeugkasten umfaßt weitgehend standardisierte Werkzeuge, die auf allen Systemen der Unix-Familie (z.B. Linux, Solaris, AIX, IRIX, OpenBSD) zur Verfügung stehen.
Der Vortrag will interessierten Neulingen beim Einstieg in die Nutzung der Shell sowie des Unix-Werkzeugkastens helfen, indem an verschiedenen praktischen Beispielen wichtige Konzepte der Kommandozeilen-Schnittstelle erläutert und demonstriert werden. Der Zuhörer soll ein Gefühl für die grundlegende Philosophie, die Mächtigkeit sowie Eleganz dieser Benutzerschnittstelle erhalten, um ihn zu animieren, selbständig unter Verwendung geeigneter Literatur tiefer in die Materie einzudringen und die Kenntnisse gewinnbringend in der täglichen Arbeit anzuwenden.
Neben Shell und Unix-Werkzeugkasten werden kurz einige weitere zentrale Unix-Konzepte besprochen. Dazu gehören der Zusammenhang von Kern (Kernel), Applikationen und Shell, ein Blick auf das hierarchische Prozeß- und Dateisystem sowie die Frage der Authentifizierung und Autorisierung von Nutzern (Feststellung der Nutzer-Identität sowie Zuordnung von Rechten zur Manipulation von Dateien und Prozessen).
Linux/Unix-Nutzer können zwischen verschiedenen Shells (z.B. sh, bash, ash, csh, tcsh, ksh, pdksh, zsh) mit unterschiedlichem Leistungsumfang wählen. Dieser Vortrag bezieht sich auf die vielfach unter Linux favorisierte und als Standard-Shell verwendete BASH (Bourne Again SHell), die einen großen Funktionsumfang sowie Bedienkomfort bietet.
Die BASH und die anderen Werkzeuge des unter Linux verfügbaren Unix-Werkzeugkastens stammen aus dem GNU-Projekt der Free Software Foundation (FSF) und zeichnen sich gegenüber den ursprünglichen Unix-Tools durch einen meist deutlich größeren Funktionsumfang sowie eine sehr hohe Stabilität aus.
Zusätzlich zu den GNU-Tools stehen eine Reihe weiterer freier Werkzeuge zur Verfügung, die sich in der täglichen Arbeit vieler Unix-/Linux-Anwender großer Beliebtheit erfreuen, z.B. der Editor Vim, der eine stark verbesserte Version des Unix-Standard-Editors Vi darstellt.
Folgende Aspekte der BASH sollen vorgestellt bzw. erwähnt werden:
${...}
`...` und $(...)
$((...))
. * [...] !^sowie die erweiterte Formen
\ ' "
Von den eingebaute Shell-Befehlen sowie den externen Kommandos des GNU-Werkzeugkasten sollen ausgewählte Vertreter in kleinen Beispielen demonstriert werden:
Literaturempfehlungen:
Bettina Rathmann, Christa Wieskotten Jetzt lerne ich Shell-Programmierung Effektiv auf der Linux-/Unix-Kommandozeile arbeiten Verlag: Markt+Technik 1. Aufl., 2004 394 Seiten ISBN 3-8272-6754-4
Patrick Ditchen Shell-Skript-Programmierung sh, ksh, bash, C-Shell und tcsh Die Unix-Tools grep, sed, awk, gnuplot Lösungen für die automatische Systemüberwachung Verlag: mitp 1. Aufl., 2003 669 Seiten, 1 CD-ROM ISBN 3-8266-0883-6
Helmut Herold Linux-Unix-Shells Bourne-Shell, Korn-Shell, C-Shell, bash, tcsh Verlag: Addison-Wesley 3. Aufl., 1999 832 Seiten, Gebundene Ausgabe ISBN 3-8273-1511-5
Thorsten Zilm, Karsten Günther Bash GE-PACKT Schnelles und effektives Nachschlagen aller Bash-Befehle Funktionen, Variablen, Job-Verwaltung Bash als Anwender- und Programmierschnittstelle Verlag: mitp 1. Aufl., 2004 416 Seiten, Broschiert ISBN 3-8266-1310-4
Dave Taylor Raffinierte Shell-Scripts Übers. aus dem Amerikan. von Patrick Ditchen Original-Titel: Wicked cool shell scripts 101 Hacks für Unix, Linux und Mac OS X eigene Funktionsbibliotheken erstellen nützliche Utilities für Anwender und Administratoren 1. Aufl., 2004 Verlag: mitp 374 S. ISBN 3-8266-1510-7
man bash info bash
help