Sommer / Kania / Wolf | Shell-Programmierung | E-Book | sack.de
E-Book

E-Book, Deutsch, 868 Seiten

Reihe: Rheinwerk Computing

Sommer / Kania / Wolf Shell-Programmierung

Das umfassende Handbuch

E-Book, Deutsch, 868 Seiten

Reihe: Rheinwerk Computing

ISBN: 978-3-8362-8925-2
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection



Dieses umfassende Handbuch bietet alles, was Sie zur Shell-Programmierung wissen müssen. Behandelt werden: Variablen, Parameter und Argumente, Kontrollstrukturen, Terminal-Eingabe und -Ausgabe, Funktionen, Signale, Scripts und Prozesse, reguläre Ausdrücke, Fehlersuche und Debugging. Weiter geht's mit den wertvollen Helfern grep, sed und awk. Eine umfangreiche Linux-UNIX-Referenz bietet alle grundlegenden Kommandos in übersichtlicher Form.Das komplette Werk enthält zahlreiche Praxisbeispiele, ist modular zu lesen und hervorragend als Nachschlagewerk geeignet. Die aktuelle Auflage wurde erweitert und beschreibt nun auch die zsh: Damit eignet sich das Buch bestens für die Linux-Praxis!

Aus dem Inhalt:

Variablen, Parameter und Argumente
Kontrollstrukturen, Terminal-Eingabe und -Ausgabe
Funktionen und Signale
Fehlersuche und Debugging
Reguläre Ausdrücke und grep
Der Stream-Editor sed
awk-Programmierung
GUIs mit zenity
Auswertung von Messdaten mit gnuplot

Für die Praxis
Linux/UNIX-Kommandoreferenz
Shellbefehle und Builtins
Beispiele zur Systemadministration, Backup und CGI-Scripts
Übungsaufgaben und Lösungen



Die Fachpresse zur Vorauflage:

IT Administrator: »Scripting ist kein Hexenwerk und erleichtert das Leben eines IT-Profis deutlich. Wie sich dies unter Linux und UNIX bewerkstelligen lässt, zeigen Kania und Wolf eindrücklich und Schritt für Schritt in ihrem Buch.«
Sommer / Kania / Wolf Shell-Programmierung jetzt bestellen!

Weitere Infos & Material


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


Wolf, Jürgen
Jürgen Wolf ist seit über 16 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.

Kania, Stefan
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.

Sommer, Frank
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


Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.