In Linux geht die Fehlerausgabe typischerweise zu
Standardfehler (STDERR) . Dies ist ein separater Ausgangsstrom von
Standardausgang (STDOut) , wohin wird die normale Programmausgabe vorhanden.
So funktioniert es:
* Standardausgabe (STDOut) wird für die normale Programmausgabe verwendet, z. B. Text, Berechnungsergebnisse und andere Daten, die das Programm anzeigen beabsichtigt.
* Standardfehler (Stderr) wird für Fehlermeldungen, Warnungen und andere Informationen verwendet, die ein Problem oder ein unerwartetes Verhalten anzeigen.
Durch die Trennung dieser beiden Ströme können Sie:
* Direkten Ausgängen an verschiedenen Stellen direkt: Zum Beispiel möchten Sie möglicherweise eine normale Ausgabe an eine Datei- und Fehlermeldungen an die Konsole senden.
* Verwenden Sie Tools, um herauszufiltern oder zu verarbeiten: Sie können Tools wie "Grep" oder "awk" verwenden, um bestimmte Informationen aus STDOut oder STDERR zu extrahieren.
Hier ist ein praktisches Beispiel:
`` `bash
Dieser Befehl druckt die Ausgabe an das Terminal
ls -l /tmp
Dieser Befehl druckt die Ausgabe in eine Datei, aber die Fehler werden weiterhin zum Terminal
gehen
ls -l /tmp>
output.txt
Dieser Befehl leitet sowohl die Ausgabe als auch die Fehler in eine Datei
um
ls -l /tmp>
output.txt 2> &1
`` `
wichtige Punkte, um sich zu erinnern:
* Standard: Sofern nicht umgeleitet, werden sowohl stdout als auch stderr am terminal angezeigt.
* Umleitung: Sie können Stdout und Stderr mit den Operatoren `>` bzw. `2>` umleiten.
* Fehlermeldungen: Fehlermeldungen gehen normalerweise zu Stderr, auch wenn STDOut weitergeleitet wird.
Das Verständnis des Unterschieds zwischen STDOut und STDERR ist entscheidend für die Verwaltung und Analyse der Ausgabe unter Linux.