Steffen Wendzel, Johannes Plötner
Linux
Der kompakte Grundkurs. So lernen Sie das Linux-System grundlegend kennen
Ein Angebot für € 15,85 €
Steffen Wendzel, Johannes Plötner
Linux
Der kompakte Grundkurs. So lernen Sie das Linux-System grundlegend kennen
- Broschiertes Buch
- Merkliste
- Auf die Merkliste
- Bewerten Bewerten
- Teilen
- Produkt teilen
- Produkterinnerung
- Produkterinnerung
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…mehr
Andere Kunden interessierten sich auch für
- Daniel J. BarrettProduktiv auf der Linux-Kommandozeile26,90 €
- Anatol BadachTechnik der IP-Netze69,99 €
- René KrooßAlgorithmen und Datenstrukturen49,99 €
- Frank SommerShell-Programmierung44,90 €
- Jake VanderPlasHandbuch Data Science mit Python49,90 €
- Gunter SaakeAlgorithmen und Datenstrukturen44,90 €
- Steffen HerboldData-Science-Crashkurs34,90 €
-
-
-
-
-
-
-
-
-
-
-
-
-
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
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
Produktdetails
- Produktdetails
- Rheinwerk Computing
- Verlag: Rheinwerk Computing / Rheinwerk Verlag
- Artikelnr. des Verlages: 459/08543
- Seitenzahl: 507
- Erscheinungstermin: 29. Oktober 2021
- Deutsch
- Abmessung: 190mm x 125mm x 30mm
- Gewicht: 564g
- ISBN-13: 9783836285438
- ISBN-10: 3836285436
- Artikelnr.: 62103702
- Herstellerkennzeichnung
- Rheinwerk Publishing Inc.
- 2 Heritage Drive
- 11201 Quincy, MA, US
- Info@rheinwerk-verlag.de
- www.rheinwerk-verlag.de
- Rheinwerk Computing
- Verlag: Rheinwerk Computing / Rheinwerk Verlag
- Artikelnr. des Verlages: 459/08543
- Seitenzahl: 507
- Erscheinungstermin: 29. Oktober 2021
- Deutsch
- Abmessung: 190mm x 125mm x 30mm
- Gewicht: 564g
- ISBN-13: 9783836285438
- ISBN-10: 3836285436
- Artikelnr.: 62103702
- Herstellerkennzeichnung
- Rheinwerk Publishing Inc.
- 2 Heritage Drive
- 11201 Quincy, MA, US
- Info@rheinwerk-verlag.de
- www.rheinwerk-verlag.de
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.
Vorwort ... 19
1. Einleitung ... 21
1.1 ... Warum Linux? ... 23
1.2 ... Grundbegriffe: Kernel, Distribution, Derivat ... 25
1.3 ... Die Entstehungsgeschichte von Linux ... 27
1.4 ... Zusammenfassung ... 41
1.5 ... Aufgaben ... 41
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 ... 86
2.5 ... Eingabe und Ausgabe ... 102
2.6 ... Zusammenfassung ... 112
2.7 ... Aufgaben ... 113
3. Erste Schritte ... 115
3.1 ... Die Unix-Philosophie ... 115
3.2 ... Der erste Kontakt mit dem System ... 122
3.3 ... Bewegen in der Shell ... 135
3.4 ... Arbeiten mit Dateien ... 139
3.5 ... Der Systemstatus ... 142
3.6 ... Hilfe ... 144
3.7 ... Zusammenfassung ... 148
3.8 ... Aufgaben ... 148
4. Grundlagen der Shell ... 149
4.1 ... Einführung und Überblick ... 149
4.2 ... Konsolen ... 157
4.3 ... screen ... 158
4.4 ... Besseres Arbeiten mit Verzeichnissen ... 160
4.5 ... Die elementaren Programme ... 163
4.6 ... Programme für das Dateisystem ... 166
4.7 ... Ein- und Ausgabeumlenkung ... 170
4.8 ... Pipes ... 173
4.9 ... xargs ... 176
4.10 ... Zusammenfassung ... 177
4.11 ... Aufgaben ... 177
5. Prozesse in der Shell ... 179
5.1 ... Sessions und Prozessgruppen ... 179
5.2 ... Vorder- und Hintergrundprozesse ... 181
5.3 ... Das kill-Kommando und Signale ... 188
5.4 ... Prozessadministration ... 192
5.5 ... Zusammenfassung ... 201
5.6 ... Aufgaben ... 201
6. Reguläre Ausdrücke ... 203
6.1 ... Grundlagen und Aufbau regulärer Ausdrücke ... 203
6.2 ... grep ... 205
6.3 ... awk ... 209
6.4 ... sed ... 230
6.5 ... Zusammenfassung ... 240
6.6 ... Aufgaben ... 240
7. Werkzeuge für die Konsole ... 241
7.1 ... touch -- Zeitstempel von Dateien setzen ... 241
7.2 ... cut -- Dateiinhalte abschneiden ... 242
7.3 ... paste -- Dateien zusammenfügen ... 243
7.4 ... tac -- Dateiinhalt umdrehen ... 244
7.5 ... column -- Ausgaben tabellenartig formatieren ... 244
7.6 ... colrm -- Spalten entfernen ... 245
7.7 ... nl -- Zeilennummern für Dateien ... 247
7.8 ... wc -- Zählen von Zeichen, Zeilen und Wörtern ... 247
7.9 ... od -- Dateien zur Zahlenbasis x ausgeben ... 248
7.10 ... split -- Dateien aufspalten ... 249
7.11 ... script -- Terminal-Sessions aufzeichnen ... 250
7.12 ... bc -- der Rechner für die Konsole ... 251
7.13 ... Der Midnight Commander ... 253
7.14 ... Zusammenfassung ... 256
7.15 ... Aufgaben ... 257
8. Eigene Shellskripte entwickeln ... 259
8.1 ... Grundlagen der Shellskript-Programmierung ... 259
8.2 ... Variablen ... 262
8.3 ... Arrays ... 267
8.4 ... Kommandosubstitution und Schreibweisen ... 267
8.5 ... Argumentübergabe ... 269
8.6 ... Funktionen ... 270
8.7 ... Bedingte Anweisungen ... 275
8.8 ... Schleifen ... 280
8.9 ... Menüs bilden mit select ... 284
8.10 ... Temporäre Dateien ... 286
8.11 ... Syslog-Meldungen via Shell ... 288
8.12 ... Pausen in Shellskripte einbauen ... 288
8.13 ... Startskripte ... 289
8.14 ... Das Auge isst mit: der Schreibstil ... 290
8.15 ... Ein paar Tipps zum Schluss ... 292
8.16 ... Weitere Fähigkeiten der Shell ... 292
8.17 ... Zusammenfassung ... 293
8.18 ... Aufgaben ... 293
9. Der vi(m)-Editor ... 295
9.1 ... vi, vim, gvim und neovim ... 296
9.2 ... Erste Schritte ... 297
9.3 ... Kommando- und Eingabemodus ... 298
9.4 ... Dateien speichern ... 298
9.5 ... Arbeiten mit dem Eingabemodus ... 299
9.6 ... Navigation ... 300
9.7 ... Löschen von Textstellen ... 301
9.8 ... Textbereiche ersetzen ... 302
9.9 ... Kopieren von Textbereichen ... 303
9.10 ... Shiften ... 303
9.11 ... Die Suchfunktion ... 303
9.12 ... Konfiguration ... 304
9.13 ... Zusammenfassung ... 305
9.14 ... Aufgaben ... 305
10. Grundlegende Administration ... 307
10.1 ... Benutzerverwaltung ... 307
10.2 ... Installation neuer Software ... 313
10.3 ... Backups erstellen ... 325
10.4 ... Logdateien und dmesg ... 332
10.5 ... Weitere nützliche Programme ... 337
10.6 ... Grundlegende Systemdienste ... 342
10.7 ... Manpages ... 345
10.8 ... Dateien finden mit find ... 347
10.9 ... Zusammenfassung ... 352
10.10 ... Aufgaben ... 352
11. Netzwerke unter Linux ... 353
11.1 ... Etwas Theorie ... 353
11.2 ... Konfiguration einer Netzwerkschnittstelle ... 358
11.3 ... Routing ... 366
11.4 ... Netzwerke benutzerfreundlich -- DNS ... 369
11.5 ... Firewalls unter Linux ... 375
11.6 ... Secure Shell ... 380
11.7 ... Das World Wide Web ... 388
11.8 ... Windows-Netzwerkfreigaben ... 397
11.9 ... Dateien tauschen mit klassischem FTP ... 404
11.10 ... Weitere nützliche Netzwerktools ... 407
11.11 ... Zusammenfassung ... 414
11.12 ... Aufgaben ... 415
12. Softwareentwicklung ... 417
12.1 ... Interpreter und Compiler ... 417
12.2 ... Shared Libraries ... 424
12.3 ... Debugging ... 425
12.4 ... Make ... 430
12.5 ... Die GNU-Autotools ... 438
12.6 ... Unix-Software veröffentlichen ... 442
12.7 ... Manpages erstellen ... 444
12.8 ... Versionsmanagement mit Git ... 448
12.9 ... Docker-Container erstellen ... 452
12.10 ... Zusammenfassung ... 459
12.11 ... Aufgaben ... 460
13. Umgang mit dem Raspberry Pi ... 463
13.1 ... Die Hardware ... 463
13.2 ... Die Inbetriebnahme ... 468
13.3 ... Der Raspberry Pi als Homeserver ... 470
13.4 ... Der Raspberry Pi als Mediacenter ... 475
13.5 ... Zusammenfassung ... 480
13.6 ... Aufgaben ... 480
A. Die Installation planen und durchführen ... 481
A.1 ... Die Anforderungen an Ihre Hardware ... 482
A.2 ... Hardwareunterstützung ... 482
A.3 ... Festplatten und Partitionen ... 485
A.4 ... Die Installation durchführen ... 491
A.5 ... Eine typische Linux-Installation durchführen ... 495
A.6 ... Zusammenfassung ... 498
Index ... 499
1. Einleitung ... 21
1.1 ... Warum Linux? ... 23
1.2 ... Grundbegriffe: Kernel, Distribution, Derivat ... 25
1.3 ... Die Entstehungsgeschichte von Linux ... 27
1.4 ... Zusammenfassung ... 41
1.5 ... Aufgaben ... 41
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 ... 86
2.5 ... Eingabe und Ausgabe ... 102
2.6 ... Zusammenfassung ... 112
2.7 ... Aufgaben ... 113
3. Erste Schritte ... 115
3.1 ... Die Unix-Philosophie ... 115
3.2 ... Der erste Kontakt mit dem System ... 122
3.3 ... Bewegen in der Shell ... 135
3.4 ... Arbeiten mit Dateien ... 139
3.5 ... Der Systemstatus ... 142
3.6 ... Hilfe ... 144
3.7 ... Zusammenfassung ... 148
3.8 ... Aufgaben ... 148
4. Grundlagen der Shell ... 149
4.1 ... Einführung und Überblick ... 149
4.2 ... Konsolen ... 157
4.3 ... screen ... 158
4.4 ... Besseres Arbeiten mit Verzeichnissen ... 160
4.5 ... Die elementaren Programme ... 163
4.6 ... Programme für das Dateisystem ... 166
4.7 ... Ein- und Ausgabeumlenkung ... 170
4.8 ... Pipes ... 173
4.9 ... xargs ... 176
4.10 ... Zusammenfassung ... 177
4.11 ... Aufgaben ... 177
5. Prozesse in der Shell ... 179
5.1 ... Sessions und Prozessgruppen ... 179
5.2 ... Vorder- und Hintergrundprozesse ... 181
5.3 ... Das kill-Kommando und Signale ... 188
5.4 ... Prozessadministration ... 192
5.5 ... Zusammenfassung ... 201
5.6 ... Aufgaben ... 201
6. Reguläre Ausdrücke ... 203
6.1 ... Grundlagen und Aufbau regulärer Ausdrücke ... 203
6.2 ... grep ... 205
6.3 ... awk ... 209
6.4 ... sed ... 230
6.5 ... Zusammenfassung ... 240
6.6 ... Aufgaben ... 240
7. Werkzeuge für die Konsole ... 241
7.1 ... touch -- Zeitstempel von Dateien setzen ... 241
7.2 ... cut -- Dateiinhalte abschneiden ... 242
7.3 ... paste -- Dateien zusammenfügen ... 243
7.4 ... tac -- Dateiinhalt umdrehen ... 244
7.5 ... column -- Ausgaben tabellenartig formatieren ... 244
7.6 ... colrm -- Spalten entfernen ... 245
7.7 ... nl -- Zeilennummern für Dateien ... 247
7.8 ... wc -- Zählen von Zeichen, Zeilen und Wörtern ... 247
7.9 ... od -- Dateien zur Zahlenbasis x ausgeben ... 248
7.10 ... split -- Dateien aufspalten ... 249
7.11 ... script -- Terminal-Sessions aufzeichnen ... 250
7.12 ... bc -- der Rechner für die Konsole ... 251
7.13 ... Der Midnight Commander ... 253
7.14 ... Zusammenfassung ... 256
7.15 ... Aufgaben ... 257
8. Eigene Shellskripte entwickeln ... 259
8.1 ... Grundlagen der Shellskript-Programmierung ... 259
8.2 ... Variablen ... 262
8.3 ... Arrays ... 267
8.4 ... Kommandosubstitution und Schreibweisen ... 267
8.5 ... Argumentübergabe ... 269
8.6 ... Funktionen ... 270
8.7 ... Bedingte Anweisungen ... 275
8.8 ... Schleifen ... 280
8.9 ... Menüs bilden mit select ... 284
8.10 ... Temporäre Dateien ... 286
8.11 ... Syslog-Meldungen via Shell ... 288
8.12 ... Pausen in Shellskripte einbauen ... 288
8.13 ... Startskripte ... 289
8.14 ... Das Auge isst mit: der Schreibstil ... 290
8.15 ... Ein paar Tipps zum Schluss ... 292
8.16 ... Weitere Fähigkeiten der Shell ... 292
8.17 ... Zusammenfassung ... 293
8.18 ... Aufgaben ... 293
9. Der vi(m)-Editor ... 295
9.1 ... vi, vim, gvim und neovim ... 296
9.2 ... Erste Schritte ... 297
9.3 ... Kommando- und Eingabemodus ... 298
9.4 ... Dateien speichern ... 298
9.5 ... Arbeiten mit dem Eingabemodus ... 299
9.6 ... Navigation ... 300
9.7 ... Löschen von Textstellen ... 301
9.8 ... Textbereiche ersetzen ... 302
9.9 ... Kopieren von Textbereichen ... 303
9.10 ... Shiften ... 303
9.11 ... Die Suchfunktion ... 303
9.12 ... Konfiguration ... 304
9.13 ... Zusammenfassung ... 305
9.14 ... Aufgaben ... 305
10. Grundlegende Administration ... 307
10.1 ... Benutzerverwaltung ... 307
10.2 ... Installation neuer Software ... 313
10.3 ... Backups erstellen ... 325
10.4 ... Logdateien und dmesg ... 332
10.5 ... Weitere nützliche Programme ... 337
10.6 ... Grundlegende Systemdienste ... 342
10.7 ... Manpages ... 345
10.8 ... Dateien finden mit find ... 347
10.9 ... Zusammenfassung ... 352
10.10 ... Aufgaben ... 352
11. Netzwerke unter Linux ... 353
11.1 ... Etwas Theorie ... 353
11.2 ... Konfiguration einer Netzwerkschnittstelle ... 358
11.3 ... Routing ... 366
11.4 ... Netzwerke benutzerfreundlich -- DNS ... 369
11.5 ... Firewalls unter Linux ... 375
11.6 ... Secure Shell ... 380
11.7 ... Das World Wide Web ... 388
11.8 ... Windows-Netzwerkfreigaben ... 397
11.9 ... Dateien tauschen mit klassischem FTP ... 404
11.10 ... Weitere nützliche Netzwerktools ... 407
11.11 ... Zusammenfassung ... 414
11.12 ... Aufgaben ... 415
12. Softwareentwicklung ... 417
12.1 ... Interpreter und Compiler ... 417
12.2 ... Shared Libraries ... 424
12.3 ... Debugging ... 425
12.4 ... Make ... 430
12.5 ... Die GNU-Autotools ... 438
12.6 ... Unix-Software veröffentlichen ... 442
12.7 ... Manpages erstellen ... 444
12.8 ... Versionsmanagement mit Git ... 448
12.9 ... Docker-Container erstellen ... 452
12.10 ... Zusammenfassung ... 459
12.11 ... Aufgaben ... 460
13. Umgang mit dem Raspberry Pi ... 463
13.1 ... Die Hardware ... 463
13.2 ... Die Inbetriebnahme ... 468
13.3 ... Der Raspberry Pi als Homeserver ... 470
13.4 ... Der Raspberry Pi als Mediacenter ... 475
13.5 ... Zusammenfassung ... 480
13.6 ... Aufgaben ... 480
A. Die Installation planen und durchführen ... 481
A.1 ... Die Anforderungen an Ihre Hardware ... 482
A.2 ... Hardwareunterstützung ... 482
A.3 ... Festplatten und Partitionen ... 485
A.4 ... Die Installation durchführen ... 491
A.5 ... Eine typische Linux-Installation durchführen ... 495
A.6 ... Zusammenfassung ... 498
Index ... 499
Vorwort ... 19
1. Einleitung ... 21
1.1 ... Warum Linux? ... 23
1.2 ... Grundbegriffe: Kernel, Distribution, Derivat ... 25
1.3 ... Die Entstehungsgeschichte von Linux ... 27
1.4 ... Zusammenfassung ... 41
1.5 ... Aufgaben ... 41
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 ... 86
2.5 ... Eingabe und Ausgabe ... 102
2.6 ... Zusammenfassung ... 112
2.7 ... Aufgaben ... 113
3. Erste Schritte ... 115
3.1 ... Die Unix-Philosophie ... 115
3.2 ... Der erste Kontakt mit dem System ... 122
3.3 ... Bewegen in der Shell ... 135
3.4 ... Arbeiten mit Dateien ... 139
3.5 ... Der Systemstatus ... 142
3.6 ... Hilfe ... 144
3.7 ... Zusammenfassung ... 148
3.8 ... Aufgaben ... 148
4. Grundlagen der Shell ... 149
4.1 ... Einführung und Überblick ... 149
4.2 ... Konsolen ... 157
4.3 ... screen ... 158
4.4 ... Besseres Arbeiten mit Verzeichnissen ... 160
4.5 ... Die elementaren Programme ... 163
4.6 ... Programme für das Dateisystem ... 166
4.7 ... Ein- und Ausgabeumlenkung ... 170
4.8 ... Pipes ... 173
4.9 ... xargs ... 176
4.10 ... Zusammenfassung ... 177
4.11 ... Aufgaben ... 177
5. Prozesse in der Shell ... 179
5.1 ... Sessions und Prozessgruppen ... 179
5.2 ... Vorder- und Hintergrundprozesse ... 181
5.3 ... Das kill-Kommando und Signale ... 188
5.4 ... Prozessadministration ... 192
5.5 ... Zusammenfassung ... 201
5.6 ... Aufgaben ... 201
6. Reguläre Ausdrücke ... 203
6.1 ... Grundlagen und Aufbau regulärer Ausdrücke ... 203
6.2 ... grep ... 205
6.3 ... awk ... 209
6.4 ... sed ... 230
6.5 ... Zusammenfassung ... 240
6.6 ... Aufgaben ... 240
7. Werkzeuge für die Konsole ... 241
7.1 ... touch -- Zeitstempel von Dateien setzen ... 241
7.2 ... cut -- Dateiinhalte abschneiden ... 242
7.3 ... paste -- Dateien zusammenfügen ... 243
7.4 ... tac -- Dateiinhalt umdrehen ... 244
7.5 ... column -- Ausgaben tabellenartig formatieren ... 244
7.6 ... colrm -- Spalten entfernen ... 245
7.7 ... nl -- Zeilennummern für Dateien ... 247
7.8 ... wc -- Zählen von Zeichen, Zeilen und Wörtern ... 247
7.9 ... od -- Dateien zur Zahlenbasis x ausgeben ... 248
7.10 ... split -- Dateien aufspalten ... 249
7.11 ... script -- Terminal-Sessions aufzeichnen ... 250
7.12 ... bc -- der Rechner für die Konsole ... 251
7.13 ... Der Midnight Commander ... 253
7.14 ... Zusammenfassung ... 256
7.15 ... Aufgaben ... 257
8. Eigene Shellskripte entwickeln ... 259
8.1 ... Grundlagen der Shellskript-Programmierung ... 259
8.2 ... Variablen ... 262
8.3 ... Arrays ... 267
8.4 ... Kommandosubstitution und Schreibweisen ... 267
8.5 ... Argumentübergabe ... 269
8.6 ... Funktionen ... 270
8.7 ... Bedingte Anweisungen ... 275
8.8 ... Schleifen ... 280
8.9 ... Menüs bilden mit select ... 284
8.10 ... Temporäre Dateien ... 286
8.11 ... Syslog-Meldungen via Shell ... 288
8.12 ... Pausen in Shellskripte einbauen ... 288
8.13 ... Startskripte ... 289
8.14 ... Das Auge isst mit: der Schreibstil ... 290
8.15 ... Ein paar Tipps zum Schluss ... 292
8.16 ... Weitere Fähigkeiten der Shell ... 292
8.17 ... Zusammenfassung ... 293
8.18 ... Aufgaben ... 293
9. Der vi(m)-Editor ... 295
9.1 ... vi, vim, gvim und neovim ... 296
9.2 ... Erste Schritte ... 297
9.3 ... Kommando- und Eingabemodus ... 298
9.4 ... Dateien speichern ... 298
9.5 ... Arbeiten mit dem Eingabemodus ... 299
9.6 ... Navigation ... 300
9.7 ... Löschen von Textstellen ... 301
9.8 ... Textbereiche ersetzen ... 302
9.9 ... Kopieren von Textbereichen ... 303
9.10 ... Shiften ... 303
9.11 ... Die Suchfunktion ... 303
9.12 ... Konfiguration ... 304
9.13 ... Zusammenfassung ... 305
9.14 ... Aufgaben ... 305
10. Grundlegende Administration ... 307
10.1 ... Benutzerverwaltung ... 307
10.2 ... Installation neuer Software ... 313
10.3 ... Backups erstellen ... 325
10.4 ... Logdateien und dmesg ... 332
10.5 ... Weitere nützliche Programme ... 337
10.6 ... Grundlegende Systemdienste ... 342
10.7 ... Manpages ... 345
10.8 ... Dateien finden mit find ... 347
10.9 ... Zusammenfassung ... 352
10.10 ... Aufgaben ... 352
11. Netzwerke unter Linux ... 353
11.1 ... Etwas Theorie ... 353
11.2 ... Konfiguration einer Netzwerkschnittstelle ... 358
11.3 ... Routing ... 366
11.4 ... Netzwerke benutzerfreundlich -- DNS ... 369
11.5 ... Firewalls unter Linux ... 375
11.6 ... Secure Shell ... 380
11.7 ... Das World Wide Web ... 388
11.8 ... Windows-Netzwerkfreigaben ... 397
11.9 ... Dateien tauschen mit klassischem FTP ... 404
11.10 ... Weitere nützliche Netzwerktools ... 407
11.11 ... Zusammenfassung ... 414
11.12 ... Aufgaben ... 415
12. Softwareentwicklung ... 417
12.1 ... Interpreter und Compiler ... 417
12.2 ... Shared Libraries ... 424
12.3 ... Debugging ... 425
12.4 ... Make ... 430
12.5 ... Die GNU-Autotools ... 438
12.6 ... Unix-Software veröffentlichen ... 442
12.7 ... Manpages erstellen ... 444
12.8 ... Versionsmanagement mit Git ... 448
12.9 ... Docker-Container erstellen ... 452
12.10 ... Zusammenfassung ... 459
12.11 ... Aufgaben ... 460
13. Umgang mit dem Raspberry Pi ... 463
13.1 ... Die Hardware ... 463
13.2 ... Die Inbetriebnahme ... 468
13.3 ... Der Raspberry Pi als Homeserver ... 470
13.4 ... Der Raspberry Pi als Mediacenter ... 475
13.5 ... Zusammenfassung ... 480
13.6 ... Aufgaben ... 480
A. Die Installation planen und durchführen ... 481
A.1 ... Die Anforderungen an Ihre Hardware ... 482
A.2 ... Hardwareunterstützung ... 482
A.3 ... Festplatten und Partitionen ... 485
A.4 ... Die Installation durchführen ... 491
A.5 ... Eine typische Linux-Installation durchführen ... 495
A.6 ... Zusammenfassung ... 498
Index ... 499
1. Einleitung ... 21
1.1 ... Warum Linux? ... 23
1.2 ... Grundbegriffe: Kernel, Distribution, Derivat ... 25
1.3 ... Die Entstehungsgeschichte von Linux ... 27
1.4 ... Zusammenfassung ... 41
1.5 ... Aufgaben ... 41
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 ... 86
2.5 ... Eingabe und Ausgabe ... 102
2.6 ... Zusammenfassung ... 112
2.7 ... Aufgaben ... 113
3. Erste Schritte ... 115
3.1 ... Die Unix-Philosophie ... 115
3.2 ... Der erste Kontakt mit dem System ... 122
3.3 ... Bewegen in der Shell ... 135
3.4 ... Arbeiten mit Dateien ... 139
3.5 ... Der Systemstatus ... 142
3.6 ... Hilfe ... 144
3.7 ... Zusammenfassung ... 148
3.8 ... Aufgaben ... 148
4. Grundlagen der Shell ... 149
4.1 ... Einführung und Überblick ... 149
4.2 ... Konsolen ... 157
4.3 ... screen ... 158
4.4 ... Besseres Arbeiten mit Verzeichnissen ... 160
4.5 ... Die elementaren Programme ... 163
4.6 ... Programme für das Dateisystem ... 166
4.7 ... Ein- und Ausgabeumlenkung ... 170
4.8 ... Pipes ... 173
4.9 ... xargs ... 176
4.10 ... Zusammenfassung ... 177
4.11 ... Aufgaben ... 177
5. Prozesse in der Shell ... 179
5.1 ... Sessions und Prozessgruppen ... 179
5.2 ... Vorder- und Hintergrundprozesse ... 181
5.3 ... Das kill-Kommando und Signale ... 188
5.4 ... Prozessadministration ... 192
5.5 ... Zusammenfassung ... 201
5.6 ... Aufgaben ... 201
6. Reguläre Ausdrücke ... 203
6.1 ... Grundlagen und Aufbau regulärer Ausdrücke ... 203
6.2 ... grep ... 205
6.3 ... awk ... 209
6.4 ... sed ... 230
6.5 ... Zusammenfassung ... 240
6.6 ... Aufgaben ... 240
7. Werkzeuge für die Konsole ... 241
7.1 ... touch -- Zeitstempel von Dateien setzen ... 241
7.2 ... cut -- Dateiinhalte abschneiden ... 242
7.3 ... paste -- Dateien zusammenfügen ... 243
7.4 ... tac -- Dateiinhalt umdrehen ... 244
7.5 ... column -- Ausgaben tabellenartig formatieren ... 244
7.6 ... colrm -- Spalten entfernen ... 245
7.7 ... nl -- Zeilennummern für Dateien ... 247
7.8 ... wc -- Zählen von Zeichen, Zeilen und Wörtern ... 247
7.9 ... od -- Dateien zur Zahlenbasis x ausgeben ... 248
7.10 ... split -- Dateien aufspalten ... 249
7.11 ... script -- Terminal-Sessions aufzeichnen ... 250
7.12 ... bc -- der Rechner für die Konsole ... 251
7.13 ... Der Midnight Commander ... 253
7.14 ... Zusammenfassung ... 256
7.15 ... Aufgaben ... 257
8. Eigene Shellskripte entwickeln ... 259
8.1 ... Grundlagen der Shellskript-Programmierung ... 259
8.2 ... Variablen ... 262
8.3 ... Arrays ... 267
8.4 ... Kommandosubstitution und Schreibweisen ... 267
8.5 ... Argumentübergabe ... 269
8.6 ... Funktionen ... 270
8.7 ... Bedingte Anweisungen ... 275
8.8 ... Schleifen ... 280
8.9 ... Menüs bilden mit select ... 284
8.10 ... Temporäre Dateien ... 286
8.11 ... Syslog-Meldungen via Shell ... 288
8.12 ... Pausen in Shellskripte einbauen ... 288
8.13 ... Startskripte ... 289
8.14 ... Das Auge isst mit: der Schreibstil ... 290
8.15 ... Ein paar Tipps zum Schluss ... 292
8.16 ... Weitere Fähigkeiten der Shell ... 292
8.17 ... Zusammenfassung ... 293
8.18 ... Aufgaben ... 293
9. Der vi(m)-Editor ... 295
9.1 ... vi, vim, gvim und neovim ... 296
9.2 ... Erste Schritte ... 297
9.3 ... Kommando- und Eingabemodus ... 298
9.4 ... Dateien speichern ... 298
9.5 ... Arbeiten mit dem Eingabemodus ... 299
9.6 ... Navigation ... 300
9.7 ... Löschen von Textstellen ... 301
9.8 ... Textbereiche ersetzen ... 302
9.9 ... Kopieren von Textbereichen ... 303
9.10 ... Shiften ... 303
9.11 ... Die Suchfunktion ... 303
9.12 ... Konfiguration ... 304
9.13 ... Zusammenfassung ... 305
9.14 ... Aufgaben ... 305
10. Grundlegende Administration ... 307
10.1 ... Benutzerverwaltung ... 307
10.2 ... Installation neuer Software ... 313
10.3 ... Backups erstellen ... 325
10.4 ... Logdateien und dmesg ... 332
10.5 ... Weitere nützliche Programme ... 337
10.6 ... Grundlegende Systemdienste ... 342
10.7 ... Manpages ... 345
10.8 ... Dateien finden mit find ... 347
10.9 ... Zusammenfassung ... 352
10.10 ... Aufgaben ... 352
11. Netzwerke unter Linux ... 353
11.1 ... Etwas Theorie ... 353
11.2 ... Konfiguration einer Netzwerkschnittstelle ... 358
11.3 ... Routing ... 366
11.4 ... Netzwerke benutzerfreundlich -- DNS ... 369
11.5 ... Firewalls unter Linux ... 375
11.6 ... Secure Shell ... 380
11.7 ... Das World Wide Web ... 388
11.8 ... Windows-Netzwerkfreigaben ... 397
11.9 ... Dateien tauschen mit klassischem FTP ... 404
11.10 ... Weitere nützliche Netzwerktools ... 407
11.11 ... Zusammenfassung ... 414
11.12 ... Aufgaben ... 415
12. Softwareentwicklung ... 417
12.1 ... Interpreter und Compiler ... 417
12.2 ... Shared Libraries ... 424
12.3 ... Debugging ... 425
12.4 ... Make ... 430
12.5 ... Die GNU-Autotools ... 438
12.6 ... Unix-Software veröffentlichen ... 442
12.7 ... Manpages erstellen ... 444
12.8 ... Versionsmanagement mit Git ... 448
12.9 ... Docker-Container erstellen ... 452
12.10 ... Zusammenfassung ... 459
12.11 ... Aufgaben ... 460
13. Umgang mit dem Raspberry Pi ... 463
13.1 ... Die Hardware ... 463
13.2 ... Die Inbetriebnahme ... 468
13.3 ... Der Raspberry Pi als Homeserver ... 470
13.4 ... Der Raspberry Pi als Mediacenter ... 475
13.5 ... Zusammenfassung ... 480
13.6 ... Aufgaben ... 480
A. Die Installation planen und durchführen ... 481
A.1 ... Die Anforderungen an Ihre Hardware ... 482
A.2 ... Hardwareunterstützung ... 482
A.3 ... Festplatten und Partitionen ... 485
A.4 ... Die Installation durchführen ... 491
A.5 ... Eine typische Linux-Installation durchführen ... 495
A.6 ... Zusammenfassung ... 498
Index ... 499