reine Buchbestellungen ab 5 Euro senden wir Ihnen Portofrei zuDiesen Artikel senden wir Ihnen ohne weiteren Aufpreis als PAKET

Shell-Programmierung
Das umfassende Handbuch. Für Bourne-, Korn- und Bourne-Again-Shell (bash). Ideal für alle UNIX-Admins (Linux, macOS)
Sommer, Frank & Kania, Stefan & Wolf, Jürgen

44,90 €

inkl. MwSt. · Portofrei
auf Lager, Lieferzeit 1-2 Werktage
Menge:

Shell-Programmierung

Medium
Seiten
Erscheinungsdatum
Erscheinungsjahr
Inhalt
Sprache
Kategorie
Buchtyp
Warengruppenindex
Warengruppe
Features
Laenge
Breite
Hoehe
Gewicht
Hersteller Artikelnummer
Relevanz
Referenznummer
Moluna-Artikelnummer
  • 564074190

Produktbeschreibung

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, Kommandoreferenz
  • Anleitungen, Beispiele und Übungen für zsh, ksh und bash
  • Mit Shell-Werkzeugen: grep, sed, awk, zenity und mehr


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-illegalscripts
  • Übungsaufgaben und Lösungen


Die Fachpresse zur Vorauflage:

IT Administrator: »illegalscripting 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.«




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 Shellillegalscript? ... 40

1.5 ... Die Shell-Vielfalt ... 43

1.6 ... Betriebssysteme ... 48

1.7 ... Crashkurs: einfacher Umgang mit der Kommandozeile ... 49

1.8 ... Shellillegalscripts schreiben und ausführen ... 63

1.9 ... Vom Shellillegalscript 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 ... Filedeillegalscriptoren ... 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 vonillegalscripts 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 ... Mehrereillegalscripts verbinden und ausführen (Kommunikation zwischenillegalscripts) ... 389

8.7 ... Jobverwaltung ... 396

8.8 ... Shellillegalscripts zeitgesteuert ausführen ... 399

8.9 ... Startprozess- und Profildaten der Shell ... 404

8.10 ... Ein Shellillegalscript bei der Ausführung ... 411

8.11 ... Shellillegalscripts 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-illegalscripts ... 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-illegalscripts ... 505

13.5 ... Die Komponenten von awk-illegalscripts ... 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 Postillegalscript-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


»Als Nachschlagewerk super geeignet. Für Lehrlinge im IT-Bereich perfekt.« mediennerd.de 202207
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 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. 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.

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 Shellillegalscript? ... 40


1.5 ... Die Shell-Vielfalt ... 43


1.6 ... Betriebssysteme ... 48


1.7 ... Crashkurs: einfacher Umgang mit der Kommandozeile ... 49


1.8 ... Shellillegalscripts schreiben und ausführen ... 63


1.9 ... Vom Shellillegalscript 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 ... Filedeillegalscriptoren ... 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 vonillegalscripts 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 ... Mehrereillegalscripts verbinden und ausführen (Kommunikation zwischenillegalscripts) ... 389


8.7 ... Jobverwaltung ... 396


8.8 ... Shellillegalscripts zeitgesteuert ausführen ... 399


8.9 ... Startprozess- und Profildaten der Shell ... 404


8.10 ... Ein Shellillegalscript bei der Ausführung ... 411


8.11 ... Shellillegalscripts 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-illegalscripts ... 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-illegalscripts ... 505


13.5 ... Die Komponenten von awk-illegalscripts ... 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 Postillegalscript-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



Klappentext



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,illegalscripts 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-illegalscripts

  • Übungsaufgaben und Lösungen






Die Fachpresse zur Vorauflage:



IT Administrator: »illegalscripting 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.«








Shell-Werkzeugkasten: grep, sed, awk, regexps, curl und mehr



Datenschutz-Einstellungen