Vorwort ... 19
1. Einleitung ... 21
1.1 ... Warum Linux? ... 24
1.2 ... Grundbegriffe: Kernel, Distribution, Derivat ... 25
1.3 ... Die Entstehungsgeschichte von Linux ... 28
1.4 ... Zusammenfassung ... 41
1.5 ... Aufgaben ... 42
2. So funktioniert Linux ... 43
2.1 ... Grundlagen ... 44
2.2 ... Aufgaben eines Betriebssystems ... 61
2.3 ... Prozesse, Tasks und Threads ... 66
2.4 ... Speichermanagement ... 85
2.5 ... Eingabe und Ausgabe ... 102
2.6 ... Zusammenfassung ... 111
2.7 ... Aufgaben ... 112
3. Erste Schritte ... 113
3.1 ... Die Unix-Philosophie ... 113
3.2 ... Der erste Kontakt mit dem System ... 120
3.3 ... Bewegen in der Shell ... 133
3.4 ... Arbeiten mit Dateien ... 137
3.5 ... Der Systemstatus ... 140
3.6 ... Hilfe ... 142
3.7 ... Zusammenfassung ... 145
3.8 ... Aufgaben ... 146
4. Grundlagen der Shell ... 147
4.1 ... Einführung und Überblick ... 147
4.2 ... Konsolen ... 155
4.3 ... screen ... 156
4.4 ... Besseres Arbeiten mit Verzeichnissen ... 158
4.5 ... Die elementaren Programme ... 161
4.6 ... Programme für das Dateisystem ... 164
4.7 ... Ein- und Ausgabeumlenkung ... 168
4.8 ... Pipes ... 171
4.9 ... xargs ... 174
4.10 ... Zusammenfassung ... 175
4.11 ... Aufgaben ... 175
5. Prozesse in der Shell ... 177
5.1 ... Sessions und Prozessgruppen ... 177
5.2 ... Vorder- und Hintergrundprozesse ... 179
5.3 ... Das kill-Kommando und Signale ... 186
5.4 ... Prozessadministration ... 190
5.5 ... Zusammenfassung ... 199
5.6 ... Aufgaben ... 199
6. Reguläre Ausdrücke ... 201
6.1 ... Grundlagen und Aufbau regulärer Ausdrücke ... 201
6.2 ... grep ... 203
6.3 ... awk ... 207
6.4 ... sed ... 228
6.5 ... Zusammenfassung ... 238
6.6 ... Aufgaben ... 238
7. Werkzeuge für die Konsole ... 239
7.1 ... touch -- Zeitstempel von Dateien setzen ... 239
7.2 ... cut -- Dateiinhalte abschneiden ... 240
7.3 ... paste -- Dateien zusammenfügen ... 241
7.4 ... tac -- Dateiinhalt umdrehen ... 242
7.5 ... column -- Ausgaben tabellenartig formatieren ... 242
7.6 ... colrm -- Spalten entfernen ... 243
7.7 ... nl -- Zeilennummern für Dateien ... 245
7.8 ... wc -- Zählen von Zeichen, Zeilen und Wörtern ... 245
7.9 ... od -- Dateien zur Zahlenbasis x ausgeben ... 246
7.10 ... split -- Dateien aufspalten ... 247
7.11 ... script -- Terminal-Sessions aufzeichnen ... 248
7.12 ... bc -- der Rechner für die Konsole ... 249
7.13 ... Der Midnight Commander ... 251
7.14 ... Zusammenfassung ... 254
7.15 ... Aufgaben ... 255
8. Eigene Shellskripte entwickeln ... 257
8.1 ... Grundlagen der Shellskript-Programmierung ... 257
8.2 ... Variablen ... 260
8.3 ... Arrays ... 265
8.4 ... Kommandosubstitution und Schreibweisen ... 265
8.5 ... Argumentübergabe ... 267
8.6 ... Funktionen ... 268
8.7 ... Bedingte Anweisungen ... 273
8.8 ... Schleifen ... 278
8.9 ... Menüs bilden mit select ... 282
8.10 ... Temporäre Dateien ... 284
8.11 ... Syslog-Meldungen via Shell ... 286
8.12 ... Pausen in Shellskripte einbauen ... 286
8.13 ... Startskripte ... 287
8.14 ... Das Auge isst mit: der Schreibstil ... 288
8.15 ... Ein paar Tipps zum Schluss ... 289
8.16 ... Weitere Fähigkeiten der Shell ... 290
8.17 ... Zusammenfassung ... 291
8.18 ... Aufgaben ... 291
9. Der vi(m)-Editor ... 293
9.1 ... vi, vim, gvim und neovim ... 294
9.2 ... Erste Schritte ... 295
9.3 ... Kommando- und Eingabemodus ... 296
9.4 ... Dateien speichern ... 296
9.5 ... Arbeiten mit dem Eingabemodus ... 297
9.6 ... Navigation ... 298
9.7 ... Löschen von Textstellen ... 299
9.8 ... Textbereiche ersetzen ... 300
9.9 ... Kopieren von Textbereichen ... 301
9.10 ... Shiften ... 301
9.11 ... Die Suchfunktion ... 301
9.12 ... Konfiguration ... 302
9.13 ... Distributionen für Vim ... 303
9.14 ... Zusammenfassung ... 304
9.15 ... Aufgaben ... 304
10. Grundlegende Administration ... 305
10.1 ... Benutzerverwaltung ... 305
10.2 ... Installation neuer Software ... 311
10.3 ... Backups erstellen ... 327
10.4 ... Logdateien und dmesg ... 334
10.5 ... Weitere nützliche Programme ... 339
10.6 ... Grundlegende Systemdienste ... 344
10.7 ... Manpages ... 347
10.8 ... Dateien finden mit find ... 349
10.9 ... Zusammenfassung ... 354
10.10 ... Aufgaben ... 354
11. Netzwerke unter Linux ... 355
11.1 ... Etwas Theorie ... 355
11.2 ... Konfiguration einer Netzwerkschnittstelle ... 361
11.3 ... Routing ... 369
11.4 ... Netzwerke benutzerfreundlich -- DNS ... 372
11.5 ... Firewalls unter Linux ... 378
11.6 ... Secure Shell ... 383
11.7 ... Das World Wide Web ... 390
11.8 ... Windows-Netzwerkfreigaben ... 397
11.9 ... Weitere nützliche Netzwerktools ... 404
11.10 ... Zusammenfassung ... 410
11.11 ... Aufgaben ... 411
12. Softwareentwicklung ... 413
12.1 ... Interpreter und Compiler ... 413
12.2 ... Softwarebibliotheken (Shared Libraries) ... 421
12.3 ... Make ... 422
12.4 ... Die GNU-Autotools ... 430
12.5 ... Unix-Software veröffentlichen ... 434
12.6 ... Eigene Manpages erstellen ... 436
12.7 ... Versionsmanagement mit Git ... 440
12.8 ... Docker-Container erstellen ... 444
12.9 ... Zusammenfassung ... 451
12.10 ... Aufgaben ... 452
A. Die Installation planen und durchführen ... 455
A.1 ... Hardwareunterstützung ... 456
A.2 ... Festplatten und Partitionen ... 459
A.3 ... Die Installation durchführen ... 465
A.4 ... Eine typische Linux-Installation durchführen ... 469
A.5 ... Zusammenfassung ... 472
Index ... 473
Was haben alle Supercomputer der Welt, mehr als 75 % der Internet-Server und ein Großteil der Systeme in Microsofts Azure-Cloud gemeinsam? Sie alle nutzen Linux! Das offene Betriebssystem hält die IT-Welt zusammen und ist eine wichtige Grundlage in jedem IT-Beruf oder im Informatikstudium. Wie Linux genau funktioniert und wie Sie sich sicher im Linux-System bewegen, das erfahren Sie in diesem kompakten Grundkurs. Er zeigt Ihnen, wie Sie Linux-Tools richtig nutzen, effizient auf der Shell arbeiten, Rechner via SSH administrieren und sich in einem Linux-Netzwerk zurechtfinden.
Aus dem Inhalt:
Linux als Workstation: Installation und erste Schritte
Der Kernel: So funktioniert Linux
Mit der Shell arbeiten
Werkzeuge für die Konsole
Shell-Programmierung und Vim
Netzwerke: Grundlagen und Tools
Softwareentwicklung mit Linux
Linux auf dem Raspberry Pi
Steffen Wendzel ist Professor an der Universität Ulm und dort Leiter des Instituts für Organisation und Management von Informationssystemen (OMI) und des Kommunikations- und Informationszentrums (kiz). Er promovierte und habilitierte sich an der FernUniversität in Hagen. Steffen Wendzel veröffentlichte über 180 Werke und beschäftigt sich seit seinem vierzehnten Lebensjahr mit Linux.
Webseite: https://www.wendzel.de