Schulungsübersicht
Einleitung
- Ziele des Kurses
- Kursplan
- Vorstellung der Teilnehmer und Dozenten
- Voraussetzungen für die Teilnahme
- Literaturhinweise
- Pflichten der Kursteilnehmer
- Zusammenfassung des Kurses
Grundlagen – optionaler Überblick
- Dateien
- Verzeichnisse und Prozesse
- Anzeigen von Verzeichnisinhalten – ls
- Hilfe abrufen – man
- Dateien anzeigen – cat, more
- Einfache Befehle
- Pipelining – Nutzung des „|“-Symbols
- Ausgabeumleitung – Verwendung des >-Symbols
- Ausgabeumleitung – Verwendung der Zeichenfolge >>
- Eingabenumleitung – Nutzung des <-Symbols
- Umleiten von Fehlermeldungen
- Nutzung von /dev/null
- Vordergrundaufgaben
- Hintergrundprozesse – „&“
- Abbrechen von Prozessen – kill
- Spezielle Dateien – . und ..
- Die Befehlszeilen-Prompt-Einstellung PS1
- Erstellen von Aliassen
- Nutzung von Aliassen
- Befehlsverlauf
- Bearbeiten der Eingabezeile – Verwendung der Pfeiltasten
- Bearbeiten der Eingabezeile – Nutzung von vi
- Anpassung der Shell
- Das Home-Verzeichnis – HOME
- Aktuelles Arbeitsverzeichnis – pwd
- Wechseln des Verzeichnisses – cd
- Erstellen von Verzeichnissen – mkdir
- Löschen von Verzeichnissen – rmdir
- Interaktives Kopieren – cp -i
- Interaktiver Dateiumzug – mv -i
- Interaktives Löschen von Dateien – rm -i
- Löschen von Verzeichnissen – rm -r
- Platzhalterzeichen – Erzeugung von Dateinamen
- Wortzählung – wc
- Suchen nach Dateien – find
- Suche nach Text in Dateien – grep, sort, cut, uniq, tr
- Ändern von Zugriffsrechten – chmod
Shell-Programmierung
- Erstellen von Shell-Skripten
- Befehle testen
- Anlegen der Skriptdatei
- Hinzufügen der Ausführungsrechte
- Testlauf des Skripts
- Ausführen des Skripts – time
- Ausführen des Skripts – Dot-Notation
- Ausführen des Skripts – exec
- Ausführen des Skripts unter Korn-Shell – ksh
- Fehlerbehebung im Skript
- Übergabe von Parametern an das Skript
- Der read-Befehl
- Nutzung von read in Skripten
- Auswahl der verwendeten Shell
- Formatierung des Ausgabetextes
- Unterdrücken von Eingaben – stty
Spezielle Zeichen und Variablen
- Anführungszeichen
- Zeichenketten in Anführungszeichen – " und '
- Escape-Zeichen – *
- Zeichenketten mit Backticks – `
- Nutzung von $(...)
- Systemvariablen – set
- Weitere spezielle Variablen
- Benutzerdefinierte Variablen
- Löschen von Benutzervariablen – unset
- Verwendung von Variablen in Skripten
- Der Typeset-Befehl
- Ganzzahlige Variablen
- Spezielle Konstrukte
Erstellung von Menüs
- Bedingungen – case-Anweisung
- Gestaltung eines Menüs
- Schleifen – while und until
- Pausieren der Ausgabe – sleep
- Pausieren der Ausgabe – dummy read
- Beenden des Skripts
- Abbruch einer Schleife
- Geschickte Optionen: Starten einer neuen Shell
- Auffangen von Unterbrechungen – trap
- Weitere Aspekte zu Unterbrechungen
- Text hervorheben – tput
- Positionierung des Cursors – Rücksprungzeichen \b
- Menüs in der Korn-Shell
Bedingungen und Vergleiche
- Bedingungsprüfung
- Überprüfen von Dateiattributen
- Prüfen der Dateirechte
- Mehrere Bedingungen: verschachtelte if-Anweisungen
- Mehrere Bedingungen: elseif
- Negation – die NOT-Bedingung
- Prüfen mehrerer Kriterien in einer Bedingung
- Vergleich von Zeichenketten
- Nutzung von eckigen Klammern
- Vermeidung leerer Eingaben
- Prüfen numerischer Werte
- Fortgeschrittene Anwendungen der case-Anweisung
- Ausgabe von Variablenwerten
- Einfügen von Leerzeichen in Ausgaben
- Überprüfung ausgeführter Befehle
Iteration und Schleifen
- Berechnungen – let
- Schleifen – while und until
- Unendliche Schleifen
- Schleifen mit for
- Auswertung von mehr als 9 Parametern – shift
Nebenskripte und Funktionen
- Lokale und globale Variablen
- Erstellung von Nebenskripten
- Der export-Befehl
- Rückgabewerte von Skripten
- Aliasse
- Funktionen in der Shell
- Nützliche vorgefertigte Funktionen
- Gewinnung des Rückgabecodes
- Bearbeiten vorhandener Funktionen
- Funktionen in Shell-Skripten
Fortgeschrittene Befehle
- Fehlerbehebung – set
- Einstellungen vornehmen – set
- Dateien zusammenführen – join
- Dateiverarbeitung: paste, basename und dirname
- Verwaltung von Prozessen – jobs
- Reguläre Ausdrücke
- Globale Suchmaschine für reguläre Ausdrücke – grep
- Erweiterte Suche mit regulären Ausdrücken – egrep
- Schnelle Textsuche – fgrep
- Berechnungen – expr
- Mathematische Operationen: bc, eval-Befehl
- Verarbeitung von Argumenten
- Der getopts-Befehl
- Nutzung von Arrays
Fortgeschrittene Textbearbeitung – vi und sed
- vi: Zuweisung eigener Tastenkombinationen
- Zuordnung von Steuerzeichen
- Einsatz von Abkürzungen
- Bearbeiten mehrerer Dateien gleichzeitig
- Reguläre Ausdrücke in vi
- Globale Texteingabe
- Here Document – Einfügen von Textblöcken
- Batch-Textverarbeitung: sed – Löschen, Anzeigen, Filtern, Abschalten der Ausgabe, Beenden, Dateieinbindung sowie mehrfache Eingabequellen
- Suchen und Ersetzen im Text
- Praktische Anwendungsbeispiele für sed
Verarbeitung von Textdateien – awk
- Die Programmiersprache awk
- Musterabgleichung in Dateien
- Reguläre Ausdrücke in awk
- Vergleichsmuster in awk
- Komplexe Musterkombinationen
- Bereichsabhängige Abgleichungen
- Spezielle Abgleichungsregeln
- Eingebaute Funktionen von awk
- Fehlerdiagnose bei awk-Skripten
- Übergabe von Parametern an awk
- Nutzung des „Contains“-Konstrukts
- Ausgabeformatierung mit printf
- Berechnungen mithilfe von awk
- Definition eigener Funktionen in awk
- Extraktion von Teilzeichenketten – substr
- Längenermittlung von Textabschnitten – length
- Ausführung von Aktionen nach Bedingungen
- Steuerungsfluss in awk-Skripten
- Nutzung von Arrays in awk
- Arrays und for-Schleifen in awk
- Praktische Beispiele mit awk
Voraussetzungen
Dieser Kurs eignet sich ausschließlich für Teilnehmer, die bereits über fundierte Kenntnisse im Umgang mit UNIX verfügen oder zuvor den Grundkurs „Einführung in UNIX“ besucht haben.
Erfahrungsberichte (4)
Ich habe das Training geschätzt, weil es interaktiv war, der Trainer sehr wissensreich war und die Übungen mir beim Lernen halfen. Die Pausen im Stundenrhythmus hielten mich auch frisch und konzentriert.
Musat Robert
Kurs - UNIX/Linux Shell Scripting
Maschinelle Übersetzung
Ich schätze die Art und Weise, wie die Theorie präsentiert wird und praktische Beispiele gegeben werden. Sehr gut strukturiert. Ich finde es auch sehr positiv, dass der Trainer immer pünktlich ist und über gute Kommunikationsfähigkeiten verfügt.
Louise
Kurs - UNIX/Linux Shell Scripting
Maschinelle Übersetzung
die ständige Rückmeldung. Die Möglichkeit, Fragen zu stellen und Antworten zu erhalten, arbeitsfähige Skripte zu bekommen, mit denen wir gearbeitet haben, sie zu modifizieren und im Laufe der Zeit weiter zu verbessern.
Nikita - DB Global Technology SRL
Kurs - UNIX/Linux Shell Scripting
Maschinelle Übersetzung
Wojciech und NobleProg haben den Ablauf so gestaltet, dass er meinen Bedürfnissen gerecht wird.
christopher Connelly - NEETRAC / GA TECH
Kurs - UNIX/Linux Shell Scripting
Maschinelle Übersetzung