
Shell-Programmierung
Das umfassende Handbuch
Rheinwerk (Publisher)
7th Edition
Published on 9. June 2022
Book
Hardback
868 pages
978-3-8362-8923-8 (ISBN)
Description
Shell-Programmierung von A bis Z - bestens zur Prüfungsvorbereitung geeignet!Dieses umfassende Handbuch bietet Ihnen alles, was Sie über die Shell-Programmierung wissen müssen. Shell-Programmierung gehört zu den Grundlagen, die jeder Linux-Anwender und System-Administrator wissen muss. Hier finden Sie auf einen Blick und sauber sortiert alle grundlegenden Linux-Kommandos. Außerdem bietet das Buch eine umfassende Linux-UNIX-Referenz zahlreiche Praxisbeispiele und Übungen mit Lösungen und eignet sich daher hervorragend als Nachschlagewerk und zur Prüfungsvorbereitung.Einführung, Praxis, Musterlösungen, KommandoreferenzAnleitungen, Beispiele und Übungen für zsh, ksh und bashMit Shell-Werkzeugen: grep, sed, awk, zenity und mehr Aus dem Inhalt:Variablen, Parameter und ArgumenteKontrollstrukturen, Terminal-Eingabe und -AusgabeFunktionen und SignaleFehlersuche und DebuggingReguläre Ausdrücke und grepDer Stream-Editor sedawk-ProgrammierungGUIs mit zenityAuswertung von Messdaten mit gnuplotFür die PraxisLinux/UNIX-KommandoreferenzShellbefehle und BuiltinsBeispiele zur Systemadministration, Backup und CGI-ScriptsÜbungsaufgaben und Lösungen
Reviews / Votes
Die diversen Kapitel des mit 874 Seiten ziemlich langen Buchs sind voneinander unabhängig lesbar. Somit kann das Buch auch als Nachschlagewerk dienen.More details
Language
German
Place of publication
Bonn
Germany
Publishing group
Rheinwerk
Edition type
Revised edition
Dimensions
Height: 248 mm
Width: 183 mm
Thickness: 50 mm
Weight
1715 gr
ISBN-13
978-3-8362-8923-8 (9783836289238)
Schweitzer Classification
Other editions
Additional editions

E-Book
06/2022
7th Edition
Rheinwerk
€35.92
Available for download

Book
05/2022
Rheinwerk
€49.90
Article exhausted; check different version
Previous edition

Stefan Kania | Jürgen Wolf
Shell-Programmierung
Das umfassende Handbuch. Für Bourne-, Korn- und Bourne-Again-Shell (bash). Ideal für alle UNIX-Administratoren (Linux, macOS)
Book
03/2019
6th Edition
Rheinwerk
€44.90
Article exhausted; check for reprint
Persons
Author
Frank Sommer ist seit vielen Jahren in der IT tätig und über UNIX-Systeme zu Linux gekommen. Beruflich im Bereich Cloud-Systeme, Netzwerk und IT-Security tätig und daher immer eng mit der Shell verbunden
ISNI: 0000 0005 2863 7852
ISNI: 0000 0005 2863 7852
Stefan Kania ist seit 1997 freiberuflich als Consultant und Trainer tätig. Seine Schwerpunkte liegen in der Implementierung von Samba und LDAP sowie in Schulungen zu beiden Themen. Seine Wahlheimat heißt Schleswig-Holstein.
ISNI: 0000 0004 3449 7211
ISNI: 0000 0004 3449 7211
Jürgen Wolf ist seit über 20 Jahren Autor und seit mehr als 10 Jahren passionierter Digitalfotograf. Seine Buchthemen sind Bildbearbeitung, Fotografie, Webentwicklung, Betriebssysteme und Programmierung. Und egal welches Thema: Bei jedem Buch ist es sein Ziel, auch komplexe Zusammenhänge klar und verständlich zu erklären.
ISNI: 0000 0000 2251 5786
ISNI: 0000 0000 2251 5786
Content
Materialien zum Buch ... 23
Vorwort ... 25
Vorwort des Gutachters: Die Shell -- Fluch oder Segen? ... 29
1. Einführung ... 31
1.1 ... Was sollten Sie wissen? ... 31
1.2 ... Was ist eine Shell? ... 34
1.3 ... Hauptanwendungsgebiet ... 37
1.4 ... Kommando, Programm oder Shellscript? ... 40
1.5 ... Die Shell-Vielfalt ... 43
1.6 ... Betriebssysteme ... 48
1.7 ... Crashkurs: einfacher Umgang mit der Kommandozeile ... 49
1.8 ... Shellscripts schreiben und ausführen ... 63
1.9 ... Vom Shellscript zum Prozess ... 83
1.10 ... Datenstrom ... 86
1.11 ... Die Z-Shell ... 105
1.12 ... Empfehlung ... 117
1.13 ... Übungen ... 117
2. Variablen ... 119
2.1 ... Grundlagen ... 119
2.2 ... Zahlen ... 125
2.3 ... Zeichenketten ... 136
2.4 ... Quotings und Kommando-Substitution ... 148
2.5 ... Arrays ... 154
2.6 ... Variablen exportieren ... 163
2.7 ... Umgebungsvariablen eines Prozesses ... 168
2.8 ... Shell-Variablen ... 169
2.9 ... Automatische Variablen der Shell ... 175
2.10 ... Übungen ... 180
3. Parameter und Argumente ... 183
3.1 ... Einführung ... 183
3.2 ... Kommandozeilenparameter $1 bis $9 ... 183
3.3 ... Besondere Parameter ... 184
3.4 ... Der Befehl shift ... 188
3.5 ... Argumente und Leerzeichen ... 190
3.6 ... Argumente jenseits von $9 ... 190
3.7 ... Argumente setzen mit set und Kommando-Substitution ... 192
3.8 ... getopts -- Kommandozeilenoptionen auswerten ... 196
3.9 ... Vorgabewerte für Variablen (Parameter-Expansion) ... 198
3.10 ... Substring-Expansion ... 202
3.11 ... Aufgaben ... 202
4. Kontrollstrukturen ... 203
4.1 ... Bedingte Anweisung mit if ... 203
4.2 ... Die else-Alternative für eine if-Verzweigung ... 212
4.3 ... Mehrfache Alternative mit elif ... 214
4.4 ... Das Kommando test ... 216
4.5 ... Status von Dateien erfragen ... 228
4.6 ... Logische Verknüpfung von Ausdrücken ... 232
4.7 ... Short-Circuit-Tests -- ergebnisabhängige Befehlsausführung ... 237
4.8 ... Die Anweisung case ... 241
4.9 ... Schleifen ... 249
4.10 ... Kontrollierte Sprünge ... 266
4.11 ... Endlosschleifen ... 270
4.12 ... Aufgaben ... 272
5. Terminal-Ein- und -Ausgabe ... 273
5.1 ... Von Terminals zu Pseudo-Terminals ... 273
5.2 ... Ausgabe ... 276
5.3 ... Eingabe ... 291
5.4 ... Umlenken mit dem Befehl exec ... 317
5.5 ... Filedescriptoren ... 320
5.6 ... Named Pipes ... 327
5.7 ... Menüs mit select ... 329
5.8 ... Aufgaben ... 334
6. Funktionen ... 337
6.1 ... Allgemeine Definition ... 337
6.2 ... Funktionen, die Funktionen aufrufen ... 344
6.3 ... Parameterübergabe ... 347
6.4 ... Rückgabewert aus einer Funktion ... 350
6.5 ... Lokale kontra globale Variablen ... 355
6.6 ... alias und unalias ... 359
6.7 ... Autoload (Korn-Shell und Z-Shell) ... 362
6.8 ... Besonderheiten bei der Z-Shell ... 363
6.9 ... Aufgaben ... 364
7. Signale ... 365
7.1 ... Grundlagen zu den Signalen ... 365
7.2 ... Signale senden -- kill ... 370
7.3 ... Eine Fallgrube für Signale -- trap ... 371
7.4 ... Aufgabe ... 381
8. Rund um die Ausführung von Scripts und Prozessen ... 383
8.1 ... Prozessprioritäten ... 383
8.2 ... Warten auf andere Prozesse ... 384
8.3 ... Hintergrundprozess wieder hervorholen ... 385
8.4 ... Hintergrundprozess schützen ... 386
8.5 ... Subshells ... 387
8.6 ... Mehrere Scripts verbinden und ausführen (Kommunikation zwischen Scripts) ... 389
8.7 ... Jobverwaltung ... 396
8.8 ... Shellscripts zeitgesteuert ausführen ... 399
8.9 ... Startprozess- und Profildaten der Shell ... 404
8.10 ... Ein Shellscript bei der Ausführung ... 411
8.11 ... Shellscripts optimieren ... 413
8.12 ... Aufgaben ... 415
9. Nützliche Funktionen ... 417
9.1 ... Der Befehl eval ... 417
9.2 ... xargs ... 420
9.3 ... dirname und basename ... 422
9.4 ... umask ... 423
9.5 ... ulimit (Builtin) ... 424
9.6 ... time ... 426
9.7 ... typeset ... 427
9.8 ... Aufgabe ... 428
10. Fehlersuche und Debugging ... 429
10.1 ... Strategien zum Vermeiden von Fehlern ... 429
10.2 ... Fehlerarten ... 433
10.3 ... Fehlersuche ... 434
10.4 ... Fehlerbehandlung ... 443
11. Reguläre Ausdrücke und grep ... 445
11.1 ... Reguläre Ausdrücke -- die Theorie ... 445
11.2 ... grep ... 449
11.3 ... Aufgaben ... 462
12. Der Stream-Editor sed ... 463
12.1 ... Funktions- und Anwendungsweise von sed ... 463
12.2 ... Der sed-Befehl ... 467
12.3 ... Adressen ... 468
12.4 ... Kommandos, Substitutionsflags und Optionen von sed ... 469
12.5 ... sed-Scripts ... 487
12.6 ... Aufgaben ... 489
13. awk-Programmierung ... 491
13.1 ... Einführung und Grundlagen von awk ... 491
13.2 ... Aufruf von awk-Programmen ... 494
13.3 ... Grundlegende awk-Programme und -Elemente ... 499
13.4 ... Muster (bzw. Adressen) von awk-Scripts ... 505
13.5 ... Die Komponenten von awk-Scripts ... 513
13.6 ... Funktionen ... 534
13.7 ... Empfehlung ... 549
13.8 ... Aufgaben ... 549
14. Linux/UNIX-Kommandoreferenz ... 551
14.1 ... Kurzübersicht ... 552
14.2 ... Dateiorientierte Kommandos ... 561
14.3 ... Verzeichnisorientierte Kommandos ... 583
14.4 ... Verwaltung von Benutzern und Gruppen ... 584
14.5 ... Programm- und Prozessverwaltung ... 588
14.6 ... Speicherplatzinformationen ... 596
14.7 ... Dateisystemkommandos ... 598
14.8 ... Archivierung und Backup ... 610
14.9 ... Systeminformationen ... 625
14.10 ... Systemkommandos ... 626
14.11 ... Druckeradministration ... 628
14.12 ... Hardwareabfragen ... 629
14.13 ... Netzwerkbefehle ... 631
14.14 ... Benutzerkommunikation ... 649
14.15 ... Bildschirm- und Terminalkommandos ... 651
14.16 ... Online-Hilfen ... 653
14.17 ... Alles rund um PostScript-Kommandos ... 655
14.18 ... Gemischte Kommandos ... 656
15. Die Praxis ... 657
15.1 ... Alltägliche Lösungen ... 658
15.2 ... Datei-Utilitys ... 662
15.3 ... Systemadministration ... 675
15.4 ... Backup-Strategien ... 701
15.5 ... Systemstart -- Init-System ... 717
15.6 ... Das World Wide Web und HTML ... 725
15.7 ... CGI (Common Gateway Interface) ... 736
16. GUIs und Grafiken ... 751
16.1 ... dialog, Zenity und YAD ... 751
16.2 ... dialog -- Abfragen und Informationen ... 752
16.3 ... Zenity ... 763
16.4 ... YAD ... 768
16.5 ... gnuplot -- Visualisierung von Messdaten ... 776
16.6 ... Aufgaben ... 803
Anhang ... 805
A ... Befehle (Übersichtstabellen) ... 805
B ... Lösungen der Übungsaufgaben ... 829
C ... Trivia ... 849
Index ... 851