Einführung in Linux/UNIX

Einführung in Linux/UNIX

Einführung in Linux/UNIX Wulf Alex 2008 Karlsruhe Copyright 2000–2008 by Wulf Alex, Karlsruhe Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sec- tions, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled GNU Free Documentation License on page 349. Ausgabedatum: 18. November 2008. Email: [email protected] Dies ist ein Skriptum. Es ist unvollständig und enthält Fehler. Geschützte Namen wie UNIX oder PostScript sind nicht gekennzeichnet. Geschrieben mit dem Texteditor vi, formatiert mit LATEX unter Debian GNU/Linux. Die Skripten liegen unter folgenden URLs zum Herunterladen bereit: http://www.alex-weingarten.de/skripten/ http://www.abklex.de/skripten/ Besuchen Sie auch die Seiten zu meinen Büchern: http://www.alex-weingarten.de/debian/ http://www.abklex.de/debian/ Von dem Skriptum gibt es neben der Normalausgabe eine Ausgabe in kleine- rer Schrift (9 Punkte), in großer Schrift (14 Punkte) sowie eine Textausgabe für Leseprogramme (Screenreader). There is an old system called UNIX, suspected by many to do nix, but in fact it does more than all systems before, and comprises astonishing uniques. Vorwort Die Skripten richten sich an Leser mit wenigen Vorkenntnissen in der Elektronischen Datenverarbeitung; sie sollen – wie FRITZ REUTERS Urge- schicht von Meckelnborg – ok för Schaulkinner tau bruken sin. Für die wis- senschaftliche Welt zitiere ich aus dem Vorwort zu einem Buch des Mathe- matikers RICHARD COURANT: Das Buch wendet sich an einen weiten Kreis: an Schüler und Lehrer, an Anfänger und Gelehrte, an Philosophen und Inge- nieure. Das Lernziel ist eine Vertrautheit mit Betriebssystemen der Gattung UNIX einschließlich Linux, der Programmiersprache C/C++ und dem welt- umspannenden Internet, die so weit reicht, dass der Leser mit der Praxis beginnen und sich selbständig weiterbilden kann. Ausgelernt hat man nie. Zusammen bildeten die Skripten die Grundlage für das Buch UNIX. C und Internet, im Jahr 1999 in zweiter Auflage im Springer-Verlag erschienen (ISBN 3-540-65429-1). Das Buch ist vergriffen und wird auch nicht weiter gepflegt, da ich mich auf Debian GNU/Linux konzentriere. Meine Debian- Bücher (ISBN 3-540-43267-1 und 3-540-23786-0) sind ebenfalls bei Springer erschienen, aber nicht im Netz veröffentlicht. Die Skripten dagegen bleiben weiterhin im Netz verfügbar und werden bei Gelegenheit immer wieder über- arbeitet. Warum ein Linux/UNIX? Die Betriebssysteme der Gattung UNIX laufen auf einer Vielzahl von Computertypen. Unter den verbreiteten Betriebssys- temen sind sie die ältesten und ausgereift. Die UNIXe haben sich lange oh- ne kommerzielle Einflüsse entwickelt und tun das teilweise heute noch, sie- he Linux, FreeBSD, NetBSD, OpenBSD und andere. Programmierer, nicht das Marketing, haben die Ziele gesetzt. Die UNIXe haben von Anfang an ge- mischte Hardware und die Zusammenarbeit mehrerer Benutzer unterstützt. In Verbindung mit dem X Window System, einem netzfähigen Fenstersystem, sind die UNIXe unter den Betriebssystemen mittlerer Größe die leistungs- fähigsten. Linux/UNIX-Rechner waren von Anbeginn im Internet dabei und haben seine Entwicklung bestimmt. Warum C/C++? Die universelle Programmiersprache C mit ihrer mäch- tigen Erweiterung C++ ist – im Vergleich zu BASIC etwa – ziemlich ein- heitlich. Der Anfang ist leicht, an die Grenzen stoßen wenige Benutzer. Das Zusammenspiel zwischen C/C++-Programmen und Linux/UNIX funktioniert reibungslos. Warum das Internet? Das Internet ist das größte Computernetz dieser Erde, ein Zusammenschluss vieler regionaler Netze. Ursprünglich auf Hoch- schulen und Behörden beschränkt, sind mittlerweile auch Industrie, Handel iii iv und Privatpersonen beteiligt. Unser berufliches Leben und zunehmend un- ser privates Dasein werden vom Internet berührt. Eine Email-Anschrift ist so wichtig geworden wie ein Telefonanschluss. Als Informationsquelle ist das Netz unentbehrlich. Bei der Stoffauswahl habe ich mich von meiner Arbeit als Benutzer, Ver- walter und Programmierer leiten lassen. Besonderer Wert wird auf die Er- läuterung der zahlreichen Fachbegriffe gelegt, die dem Anfänger das Leben erschweren. Die typische Frage, vor der auch ich immer wieder stehe, lau- tet: Was ist XYZ und wozu kann man es gebrauchen? Hinsichtlich vieler Ein- zelheiten verweise ich auf die Referenz-Handbücher zu den Rechenanlagen und Programmiersprachen oder auf Monografien, um den Text nicht über die Maßen aufzublähen; er ist ein Kompromiss aus Breite und Tiefe. Alles über UNIX, C und das Internet ist kein Buch, sondern ein Bücherschrank. An einigen Stellen gehe ich außer auf das Wie auch auf das Warum ein. Von Zeit zu Zeit sollte man den Blick weg von den Wellen auf das Meer rich- ten, sonst erwirbt man nur kurzlebiges Wissen. Man kann den Gebrauch eines Betriebssystems, einer Programmierspra- che oder der Netzdienste nicht allein aus Büchern erlernen – das ist wie beim Klavierspielen oder Kuchenbacken. Die Beispiele und Übungen wurden auf einer Hewlett-Packard 9000/712 unter HP-UX 10.20 und einem PC der Mar- ke Weingartener Katzenberg Auslese unter Debian GNU/Linux entwickelt. Als Shell wurden Bourne-Abkömmlinge bevorzugt, als Compiler wurde neben dem von Hewlett-Packard der GNU gcc verwendet. Die vollständigen Quellen der Beispiele stehen im Netz. Dem Text liegen eigene Erfahrungen aus fünf Jahrzehnten zugrunde. Seine Wurzeln gehen zurück auf eine Erste Hilfe für Benutzer der Hewlett- Packard 9000 Modell 550 unter HP-UX, im Jahr 1986 aus zwanzig Aktenord- nern destilliert, die die Maschine begleiteten. Gegenwärtig verschiebt sich der Schwerpunkt in Richtung Debian GNU/Linux. Ich habe auch fremde Hil- fe beansprucht und danke Kollegen in den Universitäten Karlsruhe und Lyon sowie Mitarbeitern der Firmen IBM und Hewlett-Packard für schriftliche Un- terlagen und mündlichen Rat sowie zahlreichen Studenten für Anregungen und Diskussionen. Darüber hinaus habe ich fleißig das Internet angezapft und viele dort umlaufende Guides, Primers, HOWTOs, Tutorials und Samm- lungen von Frequently Asked Questions (FAQs) verwendet. Weingarten (Baden), 15. Februar 2006 Wulf Alex Übersicht 1 Über den Umgang mit Computern 2 2 Linux/UNIX 21 A Zahlensysteme 286 B Zeichensätze und Sondertasten 292 C Papier- und Schriftgrößen 311 D Farben 313 E Die wichtigsten Linux/UNIX-Kommandos 315 F Besondere Linux/UNIX-Kommandos 321 G Zugriffsrechte (ls -l) 324 H Linux/UNIX-Signale 326 I Beispiele LaTeX 328 J Karlsruher Test 341 K GNU Lizenzen 349 L Zum Weiterlesen 357 v Inhalt 1 Über den Umgang mit Computern 2 1.1 Was macht ein Computer? . .2 1.2 Woraus besteht ein Rechner? . .6 1.3 Was muss man wissen? . .7 1.4 Wie läuft eine Sitzung ab? . 11 1.5 Wo schlägt man nach? . 13 1.6 Warum verwendet man Computer (nicht)? . 15 1.7 Begriffe . 18 1.8 Memo . 19 1.9 Fragen . 19 2 Linux/UNIX 21 2.1 Grundbegriffe . 21 2.1.1 Wozu braucht man ein Betriebssystem? . 21 2.1.2 Verwaltung der Betriebsmittel . 22 2.1.3 Verwaltung der Daten . 24 2.1.4 Einteilung der Betriebssysteme . 25 2.1.5 Laden des Betriebssystems . 27 2.2 Das Besondere an UNIX . 27 2.2.1 Die präunicische Zeit . 27 2.2.2 Entstehung . 28 2.2.3 Vor- und Nachteile . 32 2.2.4 UNIX-Philosophie . 34 2.2.5 Aufbau . 35 2.2.6 GNU is not UNIX . 36 2.3 Daten in Bewegung: Prozesse . 39 2.3.1 Was ist ein Prozess? . 39 2.3.2 Prozesserzeugung (exec, fork) . 41 2.3.3 Selbständige Prozesse (nohup) . 43 2.3.4 Priorität (nice) . 43 2.3.5 Dämonen . 44 2.3.5.1 Was ist ein Dämon? . 44 2.3.5.2 Dämon mit Uhr (cron) . 45 2.3.5.3 Line Printer Scheduler (lpsched) . 46 2.3.5.4 Internet-Dämon (inetd) . 46 2.3.5.5 Mail-Dämon (sendmail) . 46 2.3.6 Interprozess-Kommunikation (IPC) . 46 2.3.6.1 IPC mittels Dateien . 46 2.3.6.2 Pipes . 47 2.3.6.3 Named Pipe (FIFO) . 47 vi INHALT vii 2.3.6.4 Signale (kill, trap) . 48 2.3.6.5 Nachrichtenschlangen . 49 2.3.6.6 Semaphore . 50 2.3.6.7 Gemeinsamer Speicher . 50 2.3.6.8 Sockets . 50 2.3.6.9 Streams . 50 2.3.7 Begriffe Prozesse . 51 2.3.8 Memo Prozesse . 51 2.3.9 Übung Prozesse . 52 2.3.10 Fragen Prozesse . 53 2.4 Daten in Ruhe: Dateien . 54 2.4.1 Dateiarten . 54 2.4.2 Datei-System – Sicht von unten . 55 2.4.3 Datei-System – Sicht von oben . 56 2.4.4 Netz-Datei-Systeme (NFS) . 64 2.4.5 Zugriffsrechte . 66 2.4.6 Set-User-ID-Bit . 70 2.4.7 Zeitstempel . 71 2.4.8 Inodes und Links . 74 2.4.9 stdin, stdout, stderr . 77 2.4.10 Schreiben und Lesen von Dateien . 78 2.4.11 Archivierer (tar, gtar) . 78 2.4.12 Packer (compress, gzip) . 80 2.4.13 Weitere Kommandos . 81 2.4.14 Begriffe Dateien . 86 2.4.15 Memo Dateien . 86 2.4.16 Übung Dateien . 87 2.4.17 Fragen Dateien . 88 2.5 Shells . 89 2.5.1 Gesprächspartner im Dialog . 89 2.5.1.1 Kommandointerpreter . 89 2.5.1.2 Umgebung . 95 2.5.1.3 Umlenkung . 99 2.5.2 Shellskripts . 100 2.5.3 Noch eine Skriptsprache: Perl . 114 2.5.4 Begriffe Shells . 117 2.5.5 Memo Shells . 117 2.5.6 Übung Shells . 117 2.5.7 Fragen Shells . 118 2.6 Benutzeroberflächen . 119 2.6.1 Lokale Benutzeroberflächen . 119 2.6.1.1 Kommandozeile . 119 2.6.1.2 Menüs . 120 2.6.1.3 Zeichen-Fenster, curses . 121 2.6.1.4 Grafische Fenster . 121 2.6.1.5 Multimediale Oberflächen . 122 2.6.1.6 Software für Behinderte .

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    404 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us