Rheinwerk Computing < openbook > Rheinwerk Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Vorwort
1 Einleitung
TEIL I: Einstieg in Linux
2 Die Installation
3 Erste Schritte
4 Linux als Workstation für Einsteiger
TEIL II: Grundlagen
5 Kernel
6 Grundlagen aus Anwendersicht
TEIL III: Die Shell
7 Die Shell
8 Reguläre Ausdrücke
9 Konsolentools
10 Die Editoren
11 Shellskriptprogrammierung mit der bash
12 Die C-Shell
TEIL IV: System- & Netzwerkadministration
13 Benutzerverwaltung
14 Grundlegende Verwaltungsaufgaben
15 Netzwerkgrundlagen
16 Anwendersoftware für das Netzwerk
17 Netzwerkdienste
18 Mailserver unter Linux
19 LAMP & Co.
20 DNS-Server
21 Secure Shell
TEIL V: Die grafische Oberfläche
22 Die grafische Oberfläche
23 Window-Manager und Desktops
24 X11-Programme
25 Multimedia und Spiele
TEIL VI: Systeminterna
26 Prozesse und IPC
27 Bootstrap und Shutdown
28 Dateisysteme
29 Virtualisierung und Emulatoren
TEIL VII: Programmierung und Sicherheit
30 Softwareentwicklung
31 Crashkurs in C und Perl
32 Einführung in Computersicherheit
33 Netzwerksicherheit überwachen
TEIL VIII: Anhang
A Lösungen zu den einzelnen Aufgaben
B Kommandoreferenz
C X11-InputDevices
D MBR
E Buch-DVDs
F Glossar
G Literatur
Stichwort
Ihre Meinung?

Spacer
Linux von Johannes Plötner, Steffen Wendzel
Das umfassende Handbuch
Buch: Linux

Linux
Rheinwerk Computing
1282 S., 5., aktualisierte Auflage 2012, geb., mit 2 DVDs
49,90 Euro, ISBN 978-3-8362-1822-1
Pfeil 7 Die Shell
Pfeil 7.1 Was ist eine Shell?
Pfeil 7.1.1 Eine Shell verlassen
Pfeil 7.1.2 nologin
Pfeil 7.1.3 /etc/shells
Pfeil 7.1.4 Die Login-Shell wechseln
Pfeil 7.2 Welche Shells gibt es?
Pfeil 7.3 Welche Shell für dieses Buch?
Pfeil 7.4 Konsolen
Pfeil 7.5 screen
Pfeil 7.6 Die Shell anwenden
Pfeil 7.7 Grundlagen der Shellnutzung
Pfeil 7.7.1 Programme starten
Pfeil 7.7.2 Kommandos aneinanderreihen
Pfeil 7.7.3 Mehrzeilige Kommandos
Pfeil 7.7.4 Shell-Aliase
Pfeil 7.7.5 Verzeichniswechsel
Pfeil 7.7.6 Shellvariablen
Pfeil 7.7.7 Variablen einlesen
Pfeil 7.7.8 Kommandosubstitution
Pfeil 7.8 Ein- und Ausgabeumlenkung
Pfeil 7.8.1 Ausgabeumlenkung
Pfeil 7.8.2 Fehlerumlenkung
Pfeil 7.8.3 Die Ausgabe an eine Umlenkung anhängen
Pfeil 7.8.4 Eine Ausgabe in eine bestehende Datei umlenken
Pfeil 7.8.5 Eingabeumlenkung
Pfeil 7.9 Pipes
Pfeil 7.9.1 Duplizieren der Ausgabe mit tee
Pfeil 7.9.2 Named Pipes (FIFOs)
Pfeil 7.10 Subshells und Kommandogruppen
Pfeil 7.11 Effektives Arbeiten mit der Bash
Pfeil 7.11.1 Die Kommando-History
Pfeil 7.11.2 Automatische Vervollständigung von Dateinamen
Pfeil 7.12 xargs
Pfeil 7.13 Zusammenfassung
Pfeil 7.14 Aufgaben

Rheinwerk Computing - Zum Seitenanfang

7.2 Welche Shells gibt es?

sh

Ende der 70er-Jahre wurde mit der Unix-Version 7 von AT&T die erste Bourne- Shell (kurz sh) ausgeliefert. Diese Shell wurde in der Programmiersprache C (jedoch unter Verwendung Algol-68-ähnlicher Makros) entwickelt und stellte bereits einige wichtige Funktionalität zur Verfügung, wie etwa Pipes, sowie Ein- und Ausgabeumlenkung. Benannt wurde die Bourne-Shell nach ihrem Entwickler Stephen Bourne.

jsh

Die sogenannte Job Shell ist eine Weiterentwicklung der Bourne-Shell. Neu in dieser Shell waren die namensgebenden Jobs. Diese Jobs erlauben es (wie Sie später noch genau erfahren werden), Programme im Hintergrund ablaufen zu lassen, anzuhalten und später fortzusetzen.

csh

Neben der Bourne-Shell wurde in den ersten Jahren der BSD-Geschichte die C-Shell (csh) entwickelt. Ihr Begründer war Bill Joy, ein BSD-Mitentwickler und Gründer von Sun Microsystems. Joy war jedoch auch an diversen anderen wichtigen Projekten, etwa an der Weiterentwicklung der TCP/IP-Protokollfamilie, beteiligt. Die C-Shell wurde zum ersten Mal mit 4.1BSD publiziert. Zu ihren populärsten Features zählen die Funktionalität als Interpreter einer eigenen Skriptsprache (die, wie der Name C-Shell erahnen lässt, an die Syntax der Programmiersprache C angelehnt ist), die Kommando-History, die Job-Kontrolle und die interaktive Datei- und Benutzernamenerweiterung. Die C-Shell ist heute in ihrer Bedeutung nicht mehr der Bourne-Shell gleichzusetzen. In einem umfassenden Handbuch wie diesem werfen wir allerdings dennoch in Kapitel einen Blick auf die C-Shell.

Diese beiden Vertreter, also Bourne-Shell und C-Shell, stellen die beiden grundlegenden Shellvarianten unter Unix-Systemen dar. Die meisten populären Folgeentwicklungen bauen entweder auf der C-Shell und ihrer Syntax oder auf der Bourne- Shell und deren Syntax auf. Es gibt zwar auch andere Shells, die ihre Syntax keiner der beiden Shells angepasst haben, etwa die Scheme-Shell (shsh), die an die Syntax der Programmiersprache Scheme angelehnt ist, doch sind diese Shells in der Praxis weitgehend bedeutungslos. Einige Weiterentwicklungen kombinieren auch die Features beider Shells (C-Shell und Bourne-Shell).

tcsh

Die TENEX-C-Shell (tcsh) ist eine C-Shell-Weiterentwicklung von Christos Zoulas. Diese Shell bietet gegenüber der eigentlichen C-Shell einige Verbesserungen in Sachen Benutzerfreundlichkeit.

ksh

Die von David Korn entwickelte Korn-Shell (ksh) basiert auf den Eigenschaften und der Syntax der Bourne-Shell. Allerdings übernimmt die Korn-Shell auch einige Features der C-Shell. Die Korn-Shell ist Bestandteil des POSIX-Standards und in der Version ksh93 seit März 2000 als Quelltext zu haben.

pdksh

Da die Korn-Shell jedoch nicht immer frei war, entwickelte man die Public-Domain- Korn-Shell (pdksh). Diese Shell beinhaltet alle Funktionalität des ksh88-POSIX-Stan- dards und wird unter OpenBSD als Standardshell verwendet.

ash

Die Almquist-Shell (ash) ist eine kleine, der Bourne-Shell ähnliche Shell und stellt unter einigen BSD-Derivaten die Standardshell dar.

dash

Die Debian-Almquist-Shell (dash) basiert auf der NetBSD-Version der Shell ash. Unter Debian wird die dash als Ersatz für die ash eingesetzt, und einige Distributionen verwenden die dash anstelle der langsameren bash für ihre Startskripts (etwa Ubuntu). In der Entwicklung der Hardened-Linux-Distribution benutzten wir die dash unter anderem als Skriptsprache für die automatische Generierung von Packages. Die dash ist wie die ash größtenteils kompatibel mit der Bourne-Shell.

bash

Die Bourne-Again-Shell, kurz bash, ist wie die meisten aktuellen Shells ein Open-Source-Projekt. [Fn. Die bash wird vom GNU-Projekt unter der GNU General Public License entwickelt.] Die bash ist POSIX-Standard-konform und baut auf der Syntax der Bourne-Shell auf. Sie beherrscht sowohl Features der Bourne- und der Korn-Shell als auch solche der C-Shell. Die bash ist die Standardshell unter Linux-Systemen.

zsh

Ein wahrer Bolide unter den Unix-Shells ist die Z-Shell (zsh). Sie vereint die Features der bash, csh und tcsh. Sie bietet diverse individuelle Features wie die Nutzung der Bourne- und der C-Shell-Syntax, die Möglichkeit, Themes zu verwenden und sogar Module wie etwa zftp [Fn. Hiermit ist es möglich, sich direkt in der Shell an einem FTP-Server anzumelden, Interprozesskommunikation mit den Dateien eines FTP-Servers (über Pipes) durchzuführen u.v.m.] zu laden. Näheres zu dieser Shell erfahren Sie in [Steph99A] und [Wendzel03A].



Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.

>> Zum Feedback-Formular
<< zurück
 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchempfehlungen
Zum Katalog: Linux Handbuch






 Linux Handbuch


Zum Katalog: Linux Server






 Linux Server


Zum Katalog: Raspberry Pi






 Raspberry Pi


Zum Katalog: Ubuntu 14.04 LTS






 Ubuntu 14.04 LTS


Zum Katalog: Roboter bauen mit Arduino






 Roboter bauen
 mit Arduino


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Rheinwerk Verlag GmbH 2012
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


Nutzungsbestimmungen | Datenschutz | Impressum

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de