Linux: Ein- / Ausgaben Umlenkung
Das Umleiten von der Ein- und Ausgaben Kanäle gehört bei Linux schon fast zum täglich Brot. Aber wie war das noch mal?
Standardkanäle:
Standardeingabe (0)
Laufende Programme erwarten von hier Ihre Eingaben (Üblicherweise über die Tastatur).
Standardausgabe (1)
Hierüber machen die Programme Ihre Ausgaben (Üblicherweise Bildschirm).
Standardfehlerausgabe (2)
Überdiesen diesen Kanal werden Fehler des Programms ausgegeben (Üblicherweise Bildschrirm, aber nur bei aktiver Konsole).
Die Umleitung:
Standardeingabe, lesen aus "datei"
befehl < datei
Standardausgabe, schreiben in "datei"
befehl > datei
Standardausgabe, anhängen an "datei"
befehl >> datei
Standardfehlerausgabe, schreiben von Fehlermeldungen in "datei"
befehl 2> datei
Standardfehlerausgabe, anhängen von Fehlermeldungen an "datei"
befehl 2>> datei
Standard- und Standardfehlerausgabe, schreiben in "datei"
befehl > datei 2>&1
Vorallem bei Skripten ist es oft gewollt, dass keine Ausgabe produziert wird (z.B. bei Cronjobs). Dann kann sämtliche Ausgabe ins Nirvana umgeleitet werden:
befehl > /dev/null 2>&1
Die Standardfehlerausgabe wird in die Standardausgabe umgeleitet und diese dann nach /dev/null
oder noch kürzer:
befehl &>/dev/null