<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Standard-Datenstr%C3%B6me</id>
	<title>Standard-Datenströme - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Standard-Datenstr%C3%B6me"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Standard-Datenstr%C3%B6me&amp;action=history"/>
	<updated>2026-06-03T16:15:18Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Standard-Datenstr%C3%B6me&amp;diff=519014&amp;oldid=prev</id>
		<title>imported&gt;Acky69: Gliederung</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Standard-Datenstr%C3%B6me&amp;diff=519014&amp;oldid=prev"/>
		<updated>2025-11-18T10:46:18Z</updated>

		<summary type="html">&lt;p&gt;Gliederung&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Belege}}&lt;br /&gt;
[[Datei:Stdstreams-notitle.svg|mini|Die Standard-Datenströme für Eingabe, Ausgabe, und Fehler]]&lt;br /&gt;
Die &amp;#039;&amp;#039;&amp;#039;Standard-Datenströme&amp;#039;&amp;#039;&amp;#039; (englisch: &amp;#039;&amp;#039;standard streams&amp;#039;&amp;#039;) sind drei [[Datenstrom|Datenströme]] für die [[Eingabe und Ausgabe|Ein- und Ausgabe]] im Betriebssystem [[Unix]] oder in verwandten [[Betriebssystem]]en. Sie werden auch von der [[C-Standard-Bibliothek]] unterstützt. Viele Programme verwenden automatisch die Standardein- bzw. -ausgabe, wenn auf der [[Kommandozeile]] keine [[Datei]]en für die Ein- oder Ausgabe angegeben werden.&lt;br /&gt;
&lt;br /&gt;
== {{Anker|STDIN}}Standardeingabe (stdin) ==&lt;br /&gt;
Über die Standardeingabe können Daten in ein Programm eingelesen werden. Normalerweise ist sie mit der [[Tastatur]] verbunden, d.&amp;amp;nbsp;h. Programme empfangen die Benutzereingaben über die Standardeingabe. Unter Unix entspricht der Standardeingabe die Gerätedatei &amp;#039;&amp;#039;/dev/stdin&amp;#039;&amp;#039;, der Datei-Deskriptor hat die Nummer 0.&lt;br /&gt;
&lt;br /&gt;
Beispiel: Hier wird die Standardeingabe für das Programm &amp;#039;&amp;#039;less&amp;#039;&amp;#039; aus der Datei &amp;#039;&amp;#039;eingaben.txt&amp;#039;&amp;#039; gelesen.&lt;br /&gt;
 $ less &amp;lt; eingaben.txt&lt;br /&gt;
&lt;br /&gt;
== {{Anker|STDOUT}}Standardausgabe (stdout) ==&lt;br /&gt;
Über die Standardausgabe kann ein Programm Daten ausgeben. Normalerweise ist sie mit dem Monitor verbunden, d.&amp;amp;nbsp;h. Programme senden Ausgabetexte über die Standardausgabe an den Benutzer. Unter Unix entspricht der Standardausgabe die Gerätedatei &amp;#039;&amp;#039;/dev/stdout&amp;#039;&amp;#039;, der Datei-Deskriptor hat die Nummer 1.&lt;br /&gt;
&lt;br /&gt;
Beispiel: Hier wird die Standardausgabe des Programms &amp;#039;&amp;#039;find&amp;#039;&amp;#039; in die Datei &amp;#039;&amp;#039;ausgaben.txt&amp;#039;&amp;#039; umgeleitet.&lt;br /&gt;
 $ find . -name &amp;#039;*.html&amp;#039; &amp;gt; ausgaben.txt&lt;br /&gt;
&lt;br /&gt;
gleichbedeutend:&lt;br /&gt;
 $ find . -name &amp;#039;*.html&amp;#039; 1&amp;gt; ausgaben.txt&lt;br /&gt;
&lt;br /&gt;
== {{Anker|STDERR}}Standardfehlerausgabe (stderr) ==&lt;br /&gt;
Die Standardfehlerausgabe ist ein zweiter Ausgabedatenstrom, der dazu gedacht ist, Fehler- und Statusmeldungen auszugeben. Normalerweise ist er ebenfalls mit dem Monitor verbunden; allerdings kann er getrennt von der Standardausgabe umgeleitet werden, so dass Fehlermeldungen nicht mit den ausgegebenen [[Nutzdaten]] vermischt werden. Unter Unix entspricht der Standardfehlerausgabe die Gerätedatei &amp;#039;&amp;#039;/dev/stderr&amp;#039;&amp;#039;, der Datei-Deskriptor hat die Nummer 2.&lt;br /&gt;
&lt;br /&gt;
Beispiel: Hier werden die Fehlermeldungen des Programms &amp;#039;&amp;#039;find&amp;#039;&amp;#039; in die Datei &amp;#039;&amp;#039;fehlermeldungen.txt&amp;#039;&amp;#039; umgeleitet, während die Standardausgabe über eine [[Pipe (Informatik)|Pipe]] an das Programm &amp;#039;&amp;#039;less&amp;#039;&amp;#039; weitergeleitet wird.&lt;br /&gt;
 $ find . -name &amp;#039;*.html&amp;#039; 2&amp;gt; fehlermeldungen.txt | less&lt;br /&gt;
&lt;br /&gt;
== Ausgabeumleitung ==&lt;br /&gt;
Beispiel 1: Umleiten der Fehlermeldungen in &amp;#039;&amp;#039;stdout&amp;#039;&amp;#039;:&lt;br /&gt;
 $ find . -name &amp;#039;*.html&amp;#039; 2&amp;gt;&amp;amp;1   | less&lt;br /&gt;
Hier ist dies so zu verstehen: „Leite stderr (ebenfalls) dorthin um, wo stdout &amp;#039;&amp;#039;jetzt gerade&amp;#039;&amp;#039; hinzeigt.“&lt;br /&gt;
&lt;br /&gt;
Beispiel 2:&lt;br /&gt;
 $ find . -name &amp;#039;*.html&amp;#039; 2&amp;gt;&amp;amp;1 1&amp;gt; gefundene.txt | less&lt;br /&gt;
stderr wird auf den Bildschirm/Scrn: umgeleitet, &amp;#039;&amp;#039;danach&amp;#039;&amp;#039; stdout in die Datei &amp;#039;gefundene.txt&amp;#039;; stderr wird hierbei &amp;#039;&amp;#039;&amp;#039;nicht&amp;#039;&amp;#039;&amp;#039; mit in die Datei umgeleitet, da es ja nicht „in stdout“ geleitet wurde, sondern „dorthin, wo stdout hinzeigt(e)“. Die Verkettung mit &amp;#039;&amp;#039;less&amp;#039;&amp;#039; bewirkt also das seitenweise Anzeigen der Fehlermeldungen.&lt;br /&gt;
&lt;br /&gt;
Beispiel 3:&lt;br /&gt;
 $ find . -name &amp;#039;*.html&amp;#039; 1&amp;gt; gefundene.txt 2&amp;gt;&amp;amp;1 | less&lt;br /&gt;
stdout wird in die Datei gefundene.txt umgeleitet, dann stderr dorthin, wo stdout gerade zeigt (also ebenfalls in die Datei), für &amp;#039;&amp;#039;less&amp;#039;&amp;#039; bleibt nichts übrig!&lt;br /&gt;
&lt;br /&gt;
== In verschiedenen Programmiersprachen ==&lt;br /&gt;
=== C und C++ ===&lt;br /&gt;
In der [[C (Programmiersprache)|Programmiersprache C]] werden in der [[Header-Datei]] &amp;#039;&amp;#039;stdio.h&amp;#039;&amp;#039; drei Dateizeiger vom Typ &amp;#039;&amp;#039;FILE&amp;amp;nbsp;*&amp;#039;&amp;#039; mit den Namen &amp;#039;&amp;#039;stdin&amp;#039;&amp;#039;, &amp;#039;&amp;#039;stdout&amp;#039;&amp;#039; und &amp;#039;&amp;#039;stderr&amp;#039;&amp;#039; definiert. Diese virtuellen Dateien sind in der Regel automatisch ab Programmstart geöffnet und können mit den meisten Befehlen, welche auf Dateien zugreifen, verwendet werden.&lt;br /&gt;
&lt;br /&gt;
Unter [[C++]] wird auf die IOStream Library zurückgegriffen, welche Teil der [[C++-Standardbibliothek|Standardbibliothek]] ist. Sie wird mit der Header-Datei &amp;#039;&amp;#039;iostream&amp;#039;&amp;#039; (ohne Dateiendung) eingebunden, der Zugriff auf die Standard-Datenströme erfolgt schließlich über die stream-Objekte &amp;#039;&amp;#039;std::cout&amp;#039;&amp;#039;, &amp;#039;&amp;#039;std::cin&amp;#039;&amp;#039; und &amp;#039;&amp;#039;std::cerr&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Da dieses Verhalten von C++ bzw. C standardisiert ist, finden sich diese Standard-Datenströme auch in nicht-Unix-Betriebssystemen (wie [[Microsoft Windows|Windows]]) bzw. werden entsprechend simuliert.&lt;br /&gt;
&lt;br /&gt;
=== Java ===&lt;br /&gt;
In der [[Java (Programmiersprache)|Programmiersprache Java]] werden in der Klasse java.lang.System drei Streams erzeugt. System.in als InputStream, System.out als PrintStream und System.err ebenfalls als PrintStream. Diese Streams sind automatisch ab Programmstart geöffnet und können genutzt werden, um auf die Standard-Datenströme zuzugreifen. Da dieses Verhalten von Java standardisiert ist, finden sich diese Standard-Datenströme auch in nicht-Unix-Betriebssystemen bzw. werden entsprechend simuliert.&lt;br /&gt;
&lt;br /&gt;
=== Python ===&lt;br /&gt;
Auch unter [[Python (Programmiersprache)|Python]] kann auf die Standard-Datenströme zugegriffen werden, und zwar über die im Modul sys bereitgestellten Dateiobjekte stdin, stdout und stderr. Über die bereitgestellte Methode write kann nach stdout und stderr geschrieben werden.&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* [[Pipe (Informatik)]]&lt;br /&gt;
* [[Pipeline (Unix)]]&lt;br /&gt;
* [[Unix-Kommando]]s&lt;br /&gt;
* [[Unix-Shell]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Unix]]&lt;br /&gt;
[[Kategorie:C (Programmiersprache)]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Acky69</name></author>
	</entry>
</feed>