LPIC101/103.4 Ströme, Pipes und Umleitungen verwenden: Unterschied zwischen den Versionen

Aus Foxwiki
Ramez (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Ramez (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Zeile 6: Zeile 6:
In  einem  anderen  Fall  erzeugt  ein  Programm  vielleicht  eine  Ausgabe  auf  dem  Bild-schirm, die Sie abspeichern wollen. In diesem Fall benötigen Sie eine Umleitung der Standardausgabe (Redirect).
In  einem  anderen  Fall  erzeugt  ein  Programm  vielleicht  eine  Ausgabe  auf  dem  Bild-schirm, die Sie abspeichern wollen. In diesem Fall benötigen Sie eine Umleitung der Standardausgabe (Redirect).
Wenn  ein  Programm  ausschließlich  von  der  Standardeingabe  (normalerweise  dieTastatur) liest und Sie mit diesem Programm eine Datei einlesen müssen, benötigen Sie ebenfalls eine Umleitung. Diesmal mussallerdings die Standardeingabe umgeleitet (Redirect) werden
Wenn  ein  Programm  ausschließlich  von  der  Standardeingabe  (normalerweise  dieTastatur) liest und Sie mit diesem Programm eine Datei einlesen müssen, benötigen Sie ebenfalls eine Umleitung. Diesmal mussallerdings die Standardeingabe umgeleitet (Redirect) werden
stdin, stdout und stderr
Immer wenn unter Linux ein Programm ausgef
ührt wird, erhält dieses Informationen über drei Dateideskriptoren. Diese werden als Standard-I/Os bezeichnet:
Standardeingabekanal(stdin)  ist  normalerweise  die  Tastatur.  Viele  Programme
erwarten  ihre  Eingaben  von  stdin.  Es  gibt  aber  auch,  wie  Sie  schon  oft  gesehen
haben,  Programme,  die  stattdessen  Dateien  als  Argumente  erwarten.  Diese  Programme verwenden stdin
nicht.
stdin
entspricht dem Dateideskriptor 0.
Standardausgabekanal
(
stdout
) ist normalerweise ein Terminal. Viele Programme
machen ihre Ausgaben direkt nach
stdout
.
stdout
entspricht dem Dateideskriptor 1.
Standardfehlerkanal
(
stderr
) ähnelt vom Verhalten her
stdout
, enthält aber nur die
Fehlermeldungen eines Programms. Die Ausgabe des Fehlerkanals erfolgt norma-
lerweise auch auf dem Terminal.
stderr
entspricht dem Dateideskriptor 2.
Dadurch, dass der Standardau
sgabekanal und der Standardfehlerkanal getrennt ver-
waltet werden, ist es möglich, Fehlerme
ldungen von den normalen Ausgaben eines
Programms zu trennen. Deshalb können Sie
den Fehlerkanal z. B. in eine Fehlerpro-
tokolldatei umlenken

Version vom 31. Oktober 2019, 13:58 Uhr

Allgemeines

Manchmal kann es vorkommen, dass Sie die Ausgabe eines Programms direkt mit einem anderen Programm weiterverarbeiten müssen. In diesem Fall können Sie eine sogenannte Pipe(senkrechter Strich) verwenden. Mit ihrer Hilfe ist das Zwischen-speichern der Ausgabe des ersten Programms in einer Datei zum Zweck, diese Dateidann mit dem zweiten Programmwieder einzulesen, unnötig. In einem anderen Fall erzeugt ein Programm vielleicht eine Ausgabe auf dem Bild-schirm, die Sie abspeichern wollen. In diesem Fall benötigen Sie eine Umleitung der Standardausgabe (Redirect). Wenn ein Programm ausschließlich von der Standardeingabe (normalerweise dieTastatur) liest und Sie mit diesem Programm eine Datei einlesen müssen, benötigen Sie ebenfalls eine Umleitung. Diesmal mussallerdings die Standardeingabe umgeleitet (Redirect) werden

stdin, stdout und stderr Immer wenn unter Linux ein Programm ausgef ührt wird, erhält dieses Informationen über drei Dateideskriptoren. Diese werden als Standard-I/Os bezeichnet: Standardeingabekanal(stdin) ist normalerweise die Tastatur. Viele Programme erwarten ihre Eingaben von stdin. Es gibt aber auch, wie Sie schon oft gesehen haben, Programme, die stattdessen Dateien als Argumente erwarten. Diese Programme verwenden stdin

nicht.

stdin

entspricht dem Dateideskriptor 0.

� Standardausgabekanal

(

stdout ) ist normalerweise ein Terminal. Viele Programme machen ihre Ausgaben direkt nach stdout . stdout

entspricht dem Dateideskriptor 1.

Standardfehlerkanal

(

stderr ) ähnelt vom Verhalten her stdout , enthält aber nur die Fehlermeldungen eines Programms. Die Ausgabe des Fehlerkanals erfolgt norma- lerweise auch auf dem Terminal. stderr

entspricht dem Dateideskriptor 2.

Dadurch, dass der Standardau sgabekanal und der Standardfehlerkanal getrennt ver- waltet werden, ist es möglich, Fehlerme ldungen von den normalen Ausgaben eines Programms zu trennen. Deshalb können Sie den Fehlerkanal z. B. in eine Fehlerpro- tokolldatei umlenken