
Scripting ist die Kunst, Code-Probleme in wenigen Zeilen zu lösen. Denn viele Aufgaben in der IT erfordern keine komplexen Lösungen in einer Hochsprache - oft reichen ein paar Zeilen Python-, Bash- oder PowerShell-Code.
Michael Kofler zeigt Ihnen in diesem Praxisbuch, wie Sie die Macht der Scripting-Umgebungen nutzen. Anhand zahlreicher Praxisbeispiele erfahren Sie, wie Sie Aufgaben automatisieren und wie Ihnen Shell- oder Pythonscripts viel Arbeit abnehmen können. Mit dabei ist ein Überblick über moderne Shell-Werkzeuge und IDEs: Visual Studio Code, Git, Claude, SSH und mehr.
Aus dem Inhalt:
Inhaltsverzeichnis
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
Es wurden noch keine Bewertungen abgegeben. Schreiben Sie die erste Bewertung zu "Scripting" und helfen Sie damit anderen bei der Kaufentscheidung.