Shell Einausgabe/Ausgabe: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(19 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 5: Zeile 5:
  
 
Standardfehlerausgabe (2) : Fehlerausgaben landen hier (Bildschirm, aber nur die aktive Konsole).
 
Standardfehlerausgabe (2) : Fehlerausgaben landen hier (Bildschirm, aber nur die aktive Konsole).
 
 
=Beispiel cat=
 
=Beispiel cat=
Das Programm cat liest von STDIN und gibt es STDOUT wieder aus, solange bis das EOF Zeichen kommt.
+
Das Programm cat liest von STDIN und gibt es STDOUT wieder aus, solange bis das EOF Zeichen (STRG + D) kommt.
 
*cat  
 
*cat  
 
  bla bla
 
  bla bla
Zeile 13: Zeile 12:
 
{{#drawio:std}}
 
{{#drawio:std}}
  
=Umleitungen=
+
=Einlesen der Datei dat=
 
+
*cat < /etc/passwd
==Einlesen der Datei dat==
 
*cat < dat
 
wichtig
 
 
{{#drawio:std1}}
 
{{#drawio:std1}}
 +
=Schreiben in die Datei dat, dies überschreibt den bisherigen Inhalt der Datei=
 +
*cat > /tmp/dat
 +
{{#drawio:std7}}
 +
=Lesen aus der Datei dat und schreiben in die Datei neue dat=
 +
*cat < /etc/passwd > /tmp/dat
 +
{{#drawio:std3}}
 +
=Anhängen der Ausgabe von date an die Datei neue-dat=
 +
*date >> neue-dat
 +
{{#drawio:std2}}
  
Schreiben in die Datei dat, dies überschreibt den bisherigen Inhalt der Datei
+
=Umleiten des Standardfehlerkanals nach error=
root@zero:~# cat > dat
+
*rm sux 2> /tmp/error.dat
sogar noch wichtiger
+
{{#drawio:std4}}
 
Ausgeben der Datei text
 
root@zero:~# cat dat
 
sogar noch wichtiger
 
 
 
Lesen aus der Datei dat und schreiben in die Datei neuedat
 
root@zero:~# cat < dat > neuedat
 
root@zero:~# cat < neuedat
 
sogar noch wichtiger
 
 
 
Anhängen der Ausgabe von date an die Datei neuedat
 
root@zero:~# date >> neuedat
 
root@zero:~# cat neuedat
 
sogar noch wichtiger
 
Do 18. Jun 14:08:58 CEST 2009
 
 
 
Umleiten des Standardfehlerkanals nach error
 
root@zero:~# rm sux 2> error
 
root@zero:~# more error
 
rm: Entfernen von „sux“ nicht möglich: No such file or directory
 
  
Zusammenlegen von Standardausgabe und des Standardfehlerkanals
+
=Zusammenlegen von Standardausgabe und des Standardfehlerkanals=
root@zero:~# touch tux
+
*touch tux
root@zero:~# rm -v sux tux > aus-err 2>&1
+
*rm -v sux tux > /tmp/ausgabe_error.dat 2>&1
root@zero:~# cat < aus-err
+
{{#drawio:std5}}
rm: Entfernen von „sux“ nicht möglich: No such file or directory
 
„tux“ entfernt
 

Aktuelle Version vom 21. März 2023, 20:14 Uhr

Standardkanäle

Standardeingabe (0): Laufende Programme erwarten von hier ihre Eingaben (normalerweise handelt es sich um die Tastatur).

Standardausgabe (1): Programme schreiben auf diese ihre Ausgaben (Bildschirm).

Standardfehlerausgabe (2) : Fehlerausgaben landen hier (Bildschirm, aber nur die aktive Konsole).

Beispiel cat

Das Programm cat liest von STDIN und gibt es STDOUT wieder aus, solange bis das EOF Zeichen (STRG + D) kommt.

  • cat
bla bla
bla bla

Einlesen der Datei dat

  • cat < /etc/passwd

Schreiben in die Datei dat, dies überschreibt den bisherigen Inhalt der Datei

  • cat > /tmp/dat

Lesen aus der Datei dat und schreiben in die Datei neue dat

  • cat < /etc/passwd > /tmp/dat

Anhängen der Ausgabe von date an die Datei neue-dat

  • date >> neue-dat

Umleiten des Standardfehlerkanals nach error

  • rm sux 2> /tmp/error.dat

Zusammenlegen von Standardausgabe und des Standardfehlerkanals

  • touch tux
  • rm -v sux tux > /tmp/ausgabe_error.dat 2>&1