- cmd1 | cmd2 :Die Pipe verbindet 2 Programme. Sie verbindet die Standardausgabe des ersten Programms mit der Standardeingabe des zweiten Programms
- cmd1 ; cmd2 :cmd2 wird gestartet, wenn cmd1 beendet ist, egal ob mit einer Fehlermeldung, oder ohne. Ausführung nacheinander, ohne Rücksicht auf irgendwelche Bedingungen
- cmd1 && cmd2 :cmd2 wird nur nur nach erfolgreicher Beendigung von cmd1 gestartet. Dafür wird der Returncode des Betriebssystems verwendet, auch Errorlevel oder Exitlevel genannt. Wird ein Programm erfolgreich beendet, wird der Returncode Null ausgegeben. Alle anderen Werte stehen für eine fehlerhafte Beendigung
- cmd1 || cmd2 :cmd2 wird nur ausgeführt, wenn cmd1 mit einem Returncode ungleich Null beendet wird (Errorhandling)
- cmd1 & cmd2 :Das &-Zeichen am Ende eines cmd-Aufrufs sorgt dafür, dass der Befehl im Hintergrund ausgeführt wird und die Befehlseingabe direkt wieder für neue Eingaben zur Verfügung steht. Verbindet man nun zwei Kommandos auf diese Art und Weise, bedeutet es nichts anderes, als dass das erste Kommando im Hintergrund ausgeführt wird und cmd2 im Vordergrund und zwar parallel und unabhängig von irgendwelchen Rückgabewerten
- cmd > /Verzeichnis/Datei :stdout wird in eine Datei umgeleitet (keine Ausgabe im Terminal). Entspricht cmd 1> /Verzeichnis/Datei. Die Datei wird dabei wenn sie schon verhanden ist, überschrieben.
- cmd >> /Verzeichnis/Datei :stdout wird an die (vorhandene) Datei angehängt. Entspricht cmd 1>> /Verzeichnis/Datei
- cmd 2> /Verzeichnis/Datei :Standard Fehlerausgabe (stderr) wird in die Datei geschrieben. Möchte man die Daten anhängen wird cmd 2>> /Verzeichnis/Datei verwendet.
- cmd &> /Verzeichnis/Datei :stdout und stderr werden beide in die Datei geschrieben. Auch verwendet: cmd > /Verzeichnis/Datei 2>&1 (dabei besagt das &, dass 1 keine Datei ist)
- cmd < /Verzeichnis/Datei :Die Datei wird anstelle der Standard-Eingabe (stdin) verwendet
- cmd << EOT :stdin wird nur bis zu einer frei wählbaren Zeichenfolge EOT gelesen und beendet. (HERE Dokument) Hier fehlt mir persönlich noch der Sinn
- tee <Datei> :Dieses kleine Programm sorgt dafür, dass die stdout sowohl auf dem Bildschirm ausgegeben wird, als auch in die Datei geschrieben wird.
- noclobber :ist diese Shell-Option nicht gesetzt, kann eine existierende Datei durch eine normale Ausgabeumleitung überschrieben werden. Wird die Option aktiviert, ist das Überschreiben nicht mehr möglich, das Anhängen von Daten ist jedoch möglich. Die Option noclobber wird nicht an Subshells vererbt
set -o noclobber :Überschreiben ist nicht möglich
set +o noclobber :Überschreiben ist möglich (Standardeinstellung in der Shell) - xargs :Dieses Tool liest die Standard Eingabe als Liste und führt für jedes Listenelement einen Kommandoaufruf durch. Der Delimiter kann per Option von Zeilenumbruch auf andere Zeichen umgestellt werden.
- -exec Kommando {} :Der Parameter exec sorgt dafür, dass für jedes gefundene Argument das angegebene Kommando ausgeführt wird. In Verbindung mit find muss exec mit einem \; abgeschlossen werden. Die geschweiften Klammern hinter dem Kommando stehen für die gefundenen Argumente.
Ich bereite mich auf die Prüfung zu den Linux-Zertifikaten LIPC vor. Dabei arbeite ich nach den Büchern von Peer Heinlein "LPIC-1 Vorbereitung auf die Prüfung des Linux Proffesional Institute" (5.Auflage) Verlag open source PRESS ISBN 978-3-941841-82-6 und von Harald Maaßen "LPIC-1 Sicher zur erfolgreichen Linux-Zertifizierung" erschienen im Rheinwerk Verlag Bonn ISBN 978-3-8362-3527-3. Ich notiere für mich wichtige Dinge und Ergänzungen und erhebe keinen Anspruch auf Vollständigkeit ;-)
Sonntag, 2. Oktober 2016
103.4 Ströme, Pipes und Umleitungen verwenden
Wichtung 4
Abonnieren
Kommentare zum Post (Atom)
Keine Kommentare:
Kommentar veröffentlichen