Inhaltsverzeichnis

Alle Kapitel aufklappen
Alle Kapitel zuklappen
Vorwort
13
TEIL I Scripting-Sprachen
17
1 Scripting: Do one thing ...
19
1.1 Was heißt Scripting?
19
1.2 Script-Sprachen
22
1.3 Die Qual der Wahl
27
2 Zehn mal zehn Zeilen
29
2.1 Markdown-Rechtschreibkorrektur (Bash)
29
2.2 Bilder nach Aufnahmedatum sortieren (PowerShell)
30
2.3 JSON-Datei in das XML-Format umwandeln (Python)
31
2.4 Tägliches Server-Backup (Bash)
32
2.5 Web Scraping (Python)
32
2.6 Wetterdaten protokollieren (Python)
34
2.7 Hyper-V-Aufräumaktion (PowerShell)
35
2.8 Statistische Auswertung einer Logging-Datei (Bash)
36
2.9 Datei-Upload in die Cloud (PowerShell)
36
2.10 Virtuelle Maschinen klonen (Bash)
37
3 Bash, Zsh und Fish
39
3.1 Terminal, Shell und Bash
40
3.2 Installation
42
3.3 Kommandos interaktiv ausführen
45
3.4 Das erste Bash-Script
48
3.5 Kommandos ausführen
54
3.6 Standardeingabe und Standardausgabe
56
3.7 Globbing, Brace Extension, Umgang mit Datei- und Verzeichnisnamen
60
3.8 Variablen
63
3.9 Zeichenketten
69
3.10 Verzweigungen
77
3.11 Schleifen
83
3.12 Funktionen
87
3.13 Umgang mit Fehlern
88
3.14 Zsh
91
3.15 Fish
93
4 PowerShell
97
4.1 Installation
98
4.2 Das Windows-Terminal
101
4.3 Aufruf von CmdLets und Funktionen
103
4.4 Kommandos kombinieren
110
4.5 Das erste Script
113
4.6 Variablen, Zeichenketten und Objekte
119
4.7 Arrays und Hashtables
129
4.8 Ausgabeumleitung
132
4.9 Schleifen
136
4.10 Verzweigungen
138
4.11 Funktionen und Parameter
140
4.12 Module
146
4.13 Fehlerabsicherung
148
4.14 Referenz wichtiger Sonderzeichen
151
5 Python
153
5.1 Python installieren
153
5.2 Python in einem Terminalfenster kennenlernen
156
5.3 Eigene Scripts programmieren
157
5.4 Elementare Syntaxregeln
159
5.5 Zahlen
161
5.6 Zeichenketten
163
5.7 Listen
171
5.8 Tupel, Sets und Dictionaries
173
5.9 Variablen
176
5.10 Operatoren
180
5.11 Verzweigungen (if)
182
5.12 Schleifen (for und while)
184
5.13 Funktionen
190
5.14 Textdateien verarbeiten
194
5.15 Fehlerabsicherung
197
5.16 Systemfunktionen
198
5.17 Module
200
5.18 Zusatzmodule installieren mit pip
203
5.19 Virtual Environments
206
5.20 Paketmanager uv
208
TEIL II Arbeitstechniken und Werkzeuge
213
6 Linux-Toolbox
215
6.1 Verzeichnisse und Dateien
216
6.2 Dateien suchen
217
6.3 Dateien komprimieren und archivieren
219
6.4 Arbeiten mit root-Rechten
220
6.5 Prozesse verwalten
223
6.6 Software-Installation
226
6.7 Sonstige Kommandos
228
7 CmdLets für die PowerShell
231
7.1 Verzeichnisse und Dateien
231
7.2 Dateien suchen
235
7.3 Dateien komprimieren und archivieren
238
7.4 Prozessverwaltung und sudo
240
7.5 Registrierdatenbank und Systeminformationen
245
7.6 CmdLet-Ergebnisse verarbeiten
248
7.7 Netzwerk und Firewall
251
7.8 Sonstige CmdLets
254
7.9 Zusatzmodule installieren
254
7.10 Standard-Aliasse
257
8 Terminal Tuning
261
8.1 Paketmanager
262
8.2 Terminal-Alternativen
266
8.3 Tuning-Tipps für das Terminal
269
8.4 Nerdfonts
272
8.5 Prompt-Frameworks
274
8.6 Moderne CLI-Tools
278
8.7 Claude Code
284
8.8 Editoren im Terminal
290
9 Textauswertung mit Filtern und Pipes
297
9.1 grep, sort, cut und uniq
298
9.2 Beispiel: ping-Auswertung
305
9.3 Beispiel: Apache-Log-Analyse
307
9.4 CSV-Dateien
310
10 Reguläre Muster
315
10.1 Syntaxregeln für reguläre Ausdrücke
316
10.2 Gruppen und Alternativen
318
10.3 Reguläre Muster in der Bash (grep, sed)
324
10.4 Reguläre Muster in der PowerShell
329
10.5 Reguläre Muster in Python (re-Modul)
332
11 JSON, XML und INI
337
11.1 JSON in der PowerShell
337
11.2 JSON und Python
340
11.3 JSON in der Bash
344
11.4 Beispiel: Claude-Code-Session-Exporter
347
11.5 XML in der PowerShell
352
11.6 XML und Python
356
11.7 XML in der Bash
359
11.8 INI-Dateien
361
12 Scripts automatisch ausführen
363
12.1 Cron
363
12.2 Beispiel: Webserver-Monitoring
367
12.3 Windows Task Scheduler
369
12.4 Beispiel: Währungskurse speichern
373
12.5 Änderungen im Dateisystem verfolgen
374
13 SSH
379
13.1 SSH-Client und -Server installieren
380
13.2 Mit SSH arbeiten
383
13.3 scp und rsync
388
13.4 SSH-Authentifizierung mit Schlüsseln
390
13.5 Beispiel: Bilder-Upload auf einen Linux-Webserver
393
13.6 Beispiel: Auswertung virtueller Maschinen
396
14 Visual Studio Code
399
14.1 Einführung
400
14.2 Sprachspezifische VS-Code-Erweiterungen
402
14.3 Remote-SSH-Erweiterung
404
15 Git
407
15.1 Git-Crashkurs
408
15.2 Der richtige Umgang mit Einstellungen und Passwörtern
416
15.3 Git-Automatisierung
419
15.4 Git Hooks
422
TEIL III Anwendungen und Beispiele
425
16 Backups
427
16.1 Verzeichnisse auf externen Datenträger synchronisieren
427
16.2 WordPress-Backup
432
16.3 SQL-Server-Backup
434
17 Bildverarbeitung
437
17.1 Bilddateien manipulieren
437
17.2 Fotos nach Aufnahmedatum sortieren (ExifTool)
441
17.3 EXIF-Daten in SQL-Kommandos umwandeln (PyExifTool)
445
17.4 EXIF-Daten in SQL-Kommandos umwandeln (Pillow)
450
17.5 GPX-Track aus Fotos erstellen
452
18 Visualisierung
457
18.1 Matplotlib und Seaborn
457
18.2 Plotly
467
18.3 Gnuplot
472
18.4 ImportExcel
474
19 Web Scraping
477
19.1 Websites mit wget herunterladen
479
19.2 Web Scraping mit regulären Mustern
481
19.3 Web Scraping mit Beautiful Soup
483
19.4 Web Scraping mit Playwright
487
19.5 Web Scraping mit der PowerShell
491
20 REST-APIs nutzen
495
20.1 curl und xh
496
20.2 REST-APIs in der PowerShell nutzen
502
20.3 Beispiel: Aktuelles Wetter ermitteln
504
20.4 REST-APIs in Python nutzen
505
20.5 Beispiel: Strompreise ermitteln und grafisch darstellen
507
21 E-Mail
511
21.1 Authentifizierungsgrundlagen
511
21.2 mail und msmtp (Bash)
513
21.3 smtplib (Python)
516
21.4 Beispiel: Einmal täglich ein Bild versenden
518
21.5 imaplib (Python)
520
21.6 Send-MailKitMessage (PowerShell)
523
22 Datenbanken
527
22.1 Datenbanken aktualisieren und warten
528
22.2 Neuen Kunden-Account einrichten
529
22.3 EXIF-Metadaten in einer Datenbank speichern
533
22.4 JSON-Daten in eine Tabelle importieren
536
23 Scripting in der Cloud
539
23.1 AWS CLI
539
23.2 Beispiel: Verschlüsseltes Backup in die Cloud hochladen
544
23.3 AWS-PowerShell-Modul
546
23.4 Beispiel: Große Dateien einer Webseite in die Cloud auslagern
549
24 Virtuelle Maschinen
553
24.1 Virtuelle Maschinen einrichten und ausführen (KVM)
553
24.2 Netzwerkkonfiguration automatisieren (KVM)
556
24.3 Hyper-V steuern
559
24.4 Virtuelle Maschinen verwalten (VirtualBox)
564
25 KI-APIs nutzen
567
25.1 Chat-API von OpenAI
568
25.2 Ein eigener ChatBot im Terminal
570
25.3 Git-Commit-Messages vorschlagen
572
25.4 Bildbeschreibungen für eine WordPress-Website
576
25.5 KI-Nutzung in der PowerShell (PSOpenAI)
582
25.6 Beispiel: Windows-Ereignisprotokoll analysieren
585
Index
589