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
Inhaltsverzeichnis
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 . . . 30410. 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 . . . 35411. 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 . . . 41112. 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