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

Aus Foxwiki
Ramez (Diskussion | Beiträge)
Ramez (Diskussion | Beiträge)
Zeile 9: Zeile 9:
stdin, stdout und stderr  
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:
Immer wenn unter Linux ein Programm ausgeführt wird, erhält dieses Informationen über drei Dateideskriptoren. Diese werden als Standard-I/Os bezeichnet:
<br>
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.


# Nummerierter Listeneintrag
#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
#Standardausgabekanal(stdout) ist normalerweise ein Terminal. Viele Programmemachen ihre Ausgaben direkt nach stdout.stdout entspricht dem Dateideskriptor 1.
(stdout) ist normalerweise ein Terminal. Viele Programmemachen ihre Ausgaben direkt nach stdout.
#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. stderrentspricht dem Dateideskriptor 2.
stdout entspricht dem Dateideskriptor 1.
Dadurch, dass der Standardausgabekanal und der Standardfehlerkanal getrennt ver-waltet werden, ist es möglich, Fehlermeldungen von den normalen Ausgaben eines Programms zu trennen. Deshalb können Sie den Fehlerkanal z. B. in eine Fehlerpro-tokolldatei umlenken
 
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.
stderrentspricht dem Dateideskriptor 2.
Dadurch, dass der Standardau
sgabekanal und der Standardfehlerkanal getrennt ver-waltet werden, ist es möglich, Fehlermeldungen 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, 15:27 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:

  1. 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.
  2. Standardausgabekanal(stdout) ist normalerweise ein Terminal. Viele Programmemachen ihre Ausgaben direkt nach stdout.stdout entspricht dem Dateideskriptor 1.
  3. 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. stderrentspricht dem Dateideskriptor 2.

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