Linux

Der kompakte Grundkurs. So lernen Sie das Linux-System grundlegend kennen – Ausgabe 2024

  • Rheinwerk
  • Softcover
  • 481 Seiten
  • 2. Auflage
  • 126 mm x 190 mm x 32 mm
  • Erscheinungsdatum: 01.08.2024
  • Artikelnummer 978-3-367-10264-8

Softcover

lieferbar innerhalb von 3-4 Werktagen
Auf den Merkzettel

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 SchritteDer Kernel: So funktioniert LinuxMit der Shell arbeitenWerkzeuge für die KonsoleShell-Programmierung und VimNetzwerke: Grundlagen und ToolsSoftwareentwicklung mit LinuxLinux auf dem Raspberry Pi

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

Johannes Plötner
Johannes Plötner ist seit über 10 Jahren Führungskraft im IT-Bereich. Er verantwortet unter anderem den Produktionsbetrieb von IT-Systemen, konzipiert IT-Infrastruktur und beschäftigt sich mit Fragestellungen rund um die Verfügbarkeit, Skalierbarkeit und Automatisierung von IT-Setups. Als bekannter Fachautor und anerkannter Experte im Bereich Unix/Linux und IT-Sicherheit hat er zahlreiche Fachbücher und Artikel in verschiedenen Zeitschriften veröffentlicht und Vorträge auf Fachtagungen gehalten.

Steffen Wendzel
Steffen Wendzel ist Professor für Netzwerke und IT-Sicherheit an der Hochschule Worms. Zuvor leitete er ein Forschungsteam am Fraunhofer FKIE, Bonn, und promovierte an der Fernuniversität in Hagen. Er veröffentlichte über 130 Werke und beschäftigt sich seit seinem vierzehnten Lebensjahr mit Linux.