Inhaltsverzeichnis

Alle Kapitel aufklappen
Alle Kapitel zuklappen
Vorwort
11
TEIL I Scripting-Sprachen
15
1 Scripting: Do one thing ...
17
1.1 Was heißt Scripting?
17
1.2 Script-Sprachen
20
1.3 Die Qual der Wahl
24
2 Zehn mal zehn Zeilen
27
2.1 Markdown-Rechtschreibkorrektur (Bash)
27
2.2 Bilder nach Aufnahmedatum sortieren (PowerShell)
28
2.3 JSON-Datei in das XML-Format umwandeln (Python)
29
2.4 Tägliches Server-Backup (Bash)
30
2.5 Web Scraping (Python)
31
2.6 Wetterdaten protokollieren (Python)
32
2.7 Hyper-V-Aufräumaktion (PowerShell)
33
2.8 Statistische Auswertung einer Logging-Datei (Bash)
34
2.9 Datei-Upload in die Cloud (PowerShell)
35
2.10 Virtuelle Maschinen klonen (Bash)
35
3 Bash und Zsh
37
3.1 Terminal, Shell und Bash
37
3.2 Installation
38
3.3 Kommandos interaktiv ausführen
42
3.4 Zsh als Bash-Alternative
45
3.5 Das erste Bash-Script
47
3.6 Kommandos ausführen
53
3.7 Standardeingabe und Standardausgabe
56
3.8 Globbing, Brace Extension, Umgang mit Datei- und Verzeichnisnamen
59
3.9 Variablen
63
3.10 Zeichenketten
69
3.11 Verzweigungen
77
3.12 Schleifen
83
3.13 Funktionen
87
3.14 Umgang mit Fehlern
88
4 PowerShell
91
4.1 Installation
91
4.2 Das Windows-Terminal
96
4.3 Aufruf von CmdLets und Funktionen
98
4.4 Kommandos kombinieren
105
4.5 Das erste Script
108
4.6 Variablen, Zeichenketten und Objekte
114
4.7 Arrays und Hashtables
125
4.8 Ausgabeumleitung
128
4.9 Schleifen
132
4.10 Verzweigungen
135
4.11 Funktionen und Parameter
137
4.12 Module
142
4.13 Fehlerabsicherung
145
5 Python
149
5.1 Python installieren
150
5.2 Python in einem Terminalfenster kennenlernen
152
5.3 Eigene Scripts programmieren
153
5.4 Elementare Syntaxregeln
155
5.5 Zahlen
157
5.6 Zeichenketten
159
5.7 Listen
166
5.8 Tupel, Sets und Dictionaries
169
5.9 Variablen
172
5.10 Operatoren
176
5.11 Verzweigungen (if)
178
5.12 Schleifen (for und while)
180
5.13 Funktionen
186
5.14 Textdateien verarbeiten
190
5.15 Fehlerabsicherung
193
5.16 Systemfunktionen
194
5.17 Module
197
5.18 Zusatzmodule installieren mit »pip«
199
TEIL II Arbeitstechniken und Werkzeuge
205
6 Linux-Toolbox
207
6.1 Verzeichnisse und Dateien
208
6.2 Dateien suchen
209
6.3 Dateien komprimieren und archivieren
211
6.4 Arbeiten mit root-Rechten
213
6.5 Prozesse verwalten
215
6.6 Software-Installation
219
6.7 Sonstige Kommandos
220
7 CmdLets für die PowerShell
223
7.1 Verzeichnisse und Dateien
223
7.2 Dateien suchen
227
7.3 Dateien komprimieren und archivieren
231
7.4 Prozessverwaltung
232
7.5 Registrierdatenbank und Systeminformationen
236
7.6 CmdLet-Ergebnisse verarbeiten
239
7.7 Sonstige CmdLets
244
7.8 Zusatzmodule installieren
244
7.9 Standard-Aliasse
247
8 Textauswertung mit Filtern und Pipes
249
8.1 grep, sort, cut und uniq
250
8.2 Beispiel: Automatische Coronazahlenauswertung
257
8.3 Beispiel: ping-Auswertung
259
8.4 Beispiel: Apache-Log-Analyse
260
8.5 CSV-Dateien
264
9 Reguläre Muster
269
9.1 Syntaxregeln für reguläre Ausdrücke
270
9.2 Gruppen und Alternativen
272
9.3 Reguläre Muster in der Bash (grep, sed)
278
9.4 Reguläre Muster in der PowerShell
283
9.5 Reguläre Muster in Python (re-Modul)
287
10 JSON, XML und INI
291
10.1 JSON in der PowerShell
291
10.2 JSON und Python
295
10.3 JSON in der Bash
299
10.4 XML in der PowerShell
302
10.5 XML und Python
306
10.6 XML in der Bash
310
10.7 INI-Dateien
312
11 Scripts automatisch ausführen
315
11.1 Cron
315
11.2 Beispiel: Webserver-Monitoring
319
11.3 Windows Task Scheduler
321
11.4 Beispiel: Währungskurse speichern
326
11.5 Änderungen im Dateisystem verfolgen
327
12 SSH
331
12.1 SSH-Client und -Server installieren
332
12.2 Mit SSH arbeiten
335
12.3 scp und rsync
340
12.4 SSH-Authentifizierung mit Schlüsseln
342
12.5 Beispiel: Bilder-Upload auf einen Linux-Webserver
345
12.6 Beispiel: Auswertung virtueller Maschinen
348
13 Visual Studio Code
351
13.1 Einführung
351
13.2 Sprachspezifische VSCode-Erweiterungen
353
13.3 Remote-SSH-Erweiterung
355
14 Git
359
14.1 Git-Crashkurs
360
14.2 Der richtige Umgang mit Einstellungen und Passwörtern
368
14.3 Git-Automatisierung
371
14.4 Git Hooks
374
TEIL III Anwendungen und Beispiele
377
15 Backups
379
15.1 Verzeichnisse auf externen Datenträger synchronisieren
379
15.2 WordPress-Backup
384
15.3 SQL-Server-Backup
387
16 Bildverarbeitung
389
16.1 Bilddateien manipulieren
389
16.2 Fotos nach Aufnahmedatum sortieren
394
16.3 EXIF-Metadaten in SQL-Kommandos umwandeln
397
17 Web Scraping
403
17.1 Websites mit wget herunterladen
405
17.2 Web Scraping mit regulären Mustern
408
17.3 Web Scraping mit Beautiful Soup
409
17.4 Web Scraping mit Requests-HTML
414
17.5 Web Scraping mit der PowerShell
417
18 REST-APIs nutzen
419
18.1 curl und wget
420
18.2 REST-APIs in der PowerShell nutzen
425
18.3 Beispiel: Aktuelles Wetter ermitteln
428
18.4 REST-APIs in Python nutzen
429
18.5 Beispiel: Strompreise ermitteln und grafisch darstellen
430
19 Datenbanken
435
19.1 Datenbanken aktualisieren und warten
436
19.2 Neuen Kunden-Account einrichten
437
19.3 EXIF-Metadaten in einer Datenbank speichern
440
19.4 JSON-Daten in eine Tabelle importieren
444
20 Scripting in der Cloud
447
20.1 AWS CLI
447
20.2 Beispiel: Verschlüsselte Backup-Dateien in die Cloud hochladen
452
20.3 AWS-PowerShell-Modul
454
20.4 Beispiel: GroT1ss e Dateien einer Webseite in die Cloud auslagern
457
21 Virtuelle Maschinen
461
21.1 Virtuelle Maschinen einrichten und ausführen (KVM)
461
21.2 Netzwerkkonfiguration automatisieren (KVM)
464
21.3 Hyper-V steuern
467
22 Docker und Scripting
473
22.1 Beispiel: EXIF-Sorter als Docker-Image
474
22.2 Beispiel: Markdown/Pandoc-Umgebung
477
Index
485