Installieren Sie die genialokal App auf Ihrem Startbildschirm für einen schnellen Zugriff und eine komfortable Nutzung.
Tippen Sie einfach auf Teilen:
Und dann auf "Zum Home-Bildschirm [+]".
Bei genialokal.de kaufen Sie online bei Ihrer lokalen, inhabergeführten Buchhandlung!
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
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