Zum Hauptinhalt springen
Dekorationsartikel gehören nicht zum Leistungsumfang.
Shell-Programmierung
Das umfassende Handbuch. Für Bourne-, Korn- und Bourne-Again-Shell (bash). Ideal für alle UNIX-Admins (Linux, macOS)
Buch von Frank Sommer (u. a.)
Sprache: Deutsch

44,90 €*

inkl. MwSt.

Versandkostenfrei per Post / DHL

auf Lager, Lieferzeit 4-7 Werktage

Kategorien:
Beschreibung

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.«

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.«

Über den Autor
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
Zusammenfassung
Shell-Werkzeugkasten: grep, sed, awk, regexps, curl und mehr
Inhaltsverzeichnis
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
Details
Erscheinungsjahr: 2022
Fachbereich: Betriebssysteme & Benutzeroberflächen
Genre: Informatik, Mathematik, Medizin, Naturwissenschaften, Technik
Rubrik: Naturwissenschaften & Technik
Medium: Buch
Reihe: Rheinwerk Computing
Inhalt: 868 S.
ISBN-13: 9783836289238
ISBN-10: 3836289237
Sprache: Deutsch
Herstellernummer: 459/08923
Einband: Gebunden
Autor: Sommer, Frank
Kania, Stefan
Wolf, Jürgen
Auflage: 7. Auflage
Hersteller: Rheinwerk
Rheinwerk Verlag GmbH
Verantwortliche Person für die EU: Rheinwerk Verlag GmbH, Rheinwerkallee 4, D-53227 Bonn, service@rheinwerk-verlag.de
Maße: 248 x 183 x 50 mm
Von/Mit: Frank Sommer (u. a.)
Erscheinungsdatum: 09.06.2022
Gewicht: 1,715 kg
Artikel-ID: 121195788
Über den Autor
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
Zusammenfassung
Shell-Werkzeugkasten: grep, sed, awk, regexps, curl und mehr
Inhaltsverzeichnis
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
Details
Erscheinungsjahr: 2022
Fachbereich: Betriebssysteme & Benutzeroberflächen
Genre: Informatik, Mathematik, Medizin, Naturwissenschaften, Technik
Rubrik: Naturwissenschaften & Technik
Medium: Buch
Reihe: Rheinwerk Computing
Inhalt: 868 S.
ISBN-13: 9783836289238
ISBN-10: 3836289237
Sprache: Deutsch
Herstellernummer: 459/08923
Einband: Gebunden
Autor: Sommer, Frank
Kania, Stefan
Wolf, Jürgen
Auflage: 7. Auflage
Hersteller: Rheinwerk
Rheinwerk Verlag GmbH
Verantwortliche Person für die EU: Rheinwerk Verlag GmbH, Rheinwerkallee 4, D-53227 Bonn, service@rheinwerk-verlag.de
Maße: 248 x 183 x 50 mm
Von/Mit: Frank Sommer (u. a.)
Erscheinungsdatum: 09.06.2022
Gewicht: 1,715 kg
Artikel-ID: 121195788
Sicherheitshinweis

Ähnliche Produkte

Ähnliche Produkte