Technische Praxis der Computersysteme Teil 1 - Universität Wien
Technische Praxis der Computersysteme Teil 1 - Universität Wien
Technische Praxis der Computersysteme Teil 1 - Universität Wien
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
2.3 Aufbau eines Unix/Linux-Systems 2 TECHNISCHE EINLEITUNG<br />
Die Shell wird deswegen auch als Kommandointerpreter bezeichnet.<br />
Unter Unix wie auch unter Linux gibt es eine Vielzahl verschiedener Shells mit zum<br />
<strong>Teil</strong> unterschiedlicher Syntax. Manche sind ein reines Userinterface, an<strong>der</strong>e bieten auch eine<br />
(einfache) Scriptsprache an, können Variablen verwalten und bieten Flußkontrolle (if-thenelse-Konstruktionen,<br />
Schleifen).<br />
Die Standard-Shell unter Unix ist die Bourne Shell (sh), unter Linux die GNU-Variante<br />
davon, die Bourne Again Shell (bash). Sie bietet ein komfortables Interface (inklusive<br />
Command-Completion) und eine umfangreiche Programmiersprache, <strong>der</strong>en Beherrschung<br />
(zumindest) für den Systemadministrator unerläßlich ist. Weitere beliebte Shells sind die<br />
tcsh, die ebenfalls einen sehr komfortablen Interpreter mit einer an<strong>der</strong>en, von <strong>der</strong> C-Shell<br />
csh abgeleiteten Shell-Sprache besitzt, die Kornshell (ksh) und die Z-Shell (zsh).<br />
Die grafische Benutzeroberfläche (Graphical User Interface, GUI) in <strong>der</strong> Unix-Welt heißt<br />
X-Window (ohne ”<br />
s”[!!]) und ist in einer <strong>der</strong> Versionen XFree86 o<strong>der</strong> Xorg im Umfang aller<br />
Linux-Distributionen enthalten; mehrere Window-Manager bzw. Desktopsysteme (die den<br />
Look and Feel des GUI bestimmen) stehen zur Verfügung: fvwm2, KDE, GNOME,. . . . Wir<br />
besprechen das X-Window-System im Detail in Kapitel 7.<br />
Zur Textverarbeitung stehen unter Linux die Standard-Unix-Editoren wie etwa ed (zeilenorientiert),<br />
vi, vim, axe, pico (Pine-Look and Feel), joe, nedit, (x)emacs (GNU, mächtiger<br />
Editor für alle Zwecke) etc. zur Verfügung. Für Systemadministratoren ist vi trotz seiner<br />
etwas gewöhnungsbedürftigen Bedienung ein mächtiges, unverzichtbares Werkzeug, unter<br />
an<strong>der</strong>em deswegen, weil er auf (fast) allen Unix-Systemen auch im Notfall verfügbar ist; wir<br />
geben in Kapitel 5 eine kleine vi-Einführung.<br />
Weiters steht unter Linux das professionelle Textverarbeitungssystem (eigentlich<br />
Typensatzsystem) TEX mit seiner leicht zu handhabenden Erweiterung L A TEX<br />
(http://www.latex-project.org) zur Verfügung. Seine Funktionsweise ähnelt <strong>der</strong> einer<br />
Programmiersprache: ein ASCII-Quelltext wird vom Interpreter in den Textsatz verwandelt<br />
(dvi o<strong>der</strong> pdf-format; die Ausgabe ist nicht auf diese Formate beschränkt, so ist unter<br />
an<strong>der</strong>em auch Ausgabe in HTML möglich). TEX eignet sich vor allem zur Darstellung komplizierter<br />
mathematischer Formeln und ist daher im naturwissenschaftlichen Bereich weit<br />
verbreitet. Dieses Skriptum ist z.B. in L A TEX geschrieben; L A TEXist vor allem in <strong>der</strong> Mathematik<br />
zum Standardprogramm für den Typensatz geworden. Für L A TEX sind auch einige<br />
WYSIWYG (What you see is what you get) Oberflächen erhältlich (lyx).<br />
WYSIWYG Editoren bzw. Textprozessoren sind Oowriter, Kword und AbiWord die Bestandteile<br />
<strong>der</strong> Office Pakete Open Office (kommt vom früher durch SUN hergestellten Star-<br />
Office), bzw. K-Office (KDE) und Gnome-Office (Gnome) sind. Open Office umfaßt äquivalente<br />
Programme zu allen Komponenten von MS-Office, Koffice ist noch jünger und etwas<br />
weniger weit entwickelt.<br />
Linux besitzt hervorragende Entwicklereigenschaften. Ein C/C++ Compiler gcc (GNU-<br />
C-Compiler) mitsamt Bibliotheken (glibc) ist Standard und zum Compilieren wichtiger Systemprogramme<br />
unerläßlich. Weiters sind unter Linux alle gängigen Programmiersprachen<br />
verfügbar (Fortran (f77 and f90/95), Java, Pascal, Perl, Python, TCL, Lisp, . . . ); es gibt<br />
inzwischen auch schon freie Implementierungen des .net-Frameworks (mono).<br />
Die Netzwerkunterstützung ist generell bei Unix-Systemen sehr gut und bereits in sehr<br />
tiefen Schichten im Kernel implementiert; die TCP/IP-Protokollfamilie (auf <strong>der</strong> praktisch<br />
<strong>der</strong> gesamte Datenverkehr sowohl im LAN (Local Area Network) wie auch im Internet<br />
beruht) wurde historisch (Mitte <strong>der</strong> (80er Jahre) erstmals in einem Unix-Kernel implementiert.<br />
Alle gängigen Internet-Kommunikationstools, wie etwa Telnet, Ftp, Ssh, Talk etc. sind<br />
praktisch in allen Linux-Distributionen im Lieferumfang enthalten; Unterstützung für eine<br />
Vielzahl von Instant-Messaging-Protokollen wird auch geboten (zB durch die Programme<br />
gaim und Kopete, die zum Gnome- bzw. KDE-Desktop gehören. Der Standard-Webbrowser<br />
in <strong>der</strong> Unix-Welt ist Netscape, bzw. sein Open-Source-Pendant Mozilla (Firefox). Einige <strong>der</strong><br />
grafischen Oberflächen bieten aber auch ihren eigenen File/Webbrowser (z.B. Konqueror<br />
von KDE o<strong>der</strong> Galeon von Gnome).<br />
Der Standard-Mailclient an <strong>der</strong> Konsole ist pine von <strong>der</strong> Washington University, mail<br />
und mutt sind ebenfalls weit verbreitet. Auch steht eine Vielzahl graphischer Mailclients zur<br />
Verfügung, KDE stellt Kmail zur Verfügung, in Gnome ist das Outlook-Pendant Evoluti-<br />
28