Installieren Sie die genialokal App auf Ihrem Startbildschirm für einen schnellen Zugriff und eine komfortable Nutzung.
Tippen Sie einfach auf Teilen:
Und dann auf "Zum Home-Bildschirm [+]".
Bei genialokal.de kaufen Sie online bei Ihrer lokalen, inhabergeführten Buchhandlung!
Die Kunst, Probleme in 10 Zeilen zu lösen 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:- Bash, ZSH und die Linux-Toolbox- PowerShell und CmdLets- Python und Pip- SSH, VSCode, Git, Curl: Werkzeugenkasten für moderne Scripts- Scripts automatisch ausführen: Cron und Task Scheduler- Backups automatisieren- Bilder verarbeiten- Monitoring: Logging-Dateien auswerten- Web-Scraping und -Mining- Scripting in der AWS-Cloud- Automatisierte Builds mit Docker-Containern
Michael Kofler hat Telematik an der TU Graz studiert und ist einer der erfolgreichsten deutschsprachigen IT-Fachbuchautoren. Zu seinen Themengebieten zählen neben Linux auch IT-Sicherheit, Python, Swift, Java und der Raspberry Pi. Er ist Entwickler, berät Firmen undarbeitet als Lehrbeauftragter.
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