09.04.2014 Aufrufe

Linux Essentials//Die Einsteiger-Zertifizierung des LPI - Linup Front ...

Linux Essentials//Die Einsteiger-Zertifizierung des LPI - Linup Front ...

Linux Essentials//Die Einsteiger-Zertifizierung des LPI - Linup Front ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

8.1 Ein-/Ausgabeumlenkung und Kommandopipelines 111<br />

Bild 8.1: Standardkanäle unter <strong>Linux</strong><br />

und stderr für die Standard-Eingabe, Standard-Ausgabe und Standard-Fehlerausgabe.<br />

<strong>Die</strong>sen Kanälen sind respektive auch die Nummern 0, 1 und 2 zugeordnet,<br />

was wir gleich noch brauchen werden.<br />

<strong>Die</strong> Shell kann für einzelne Kommandos diese Standardkanäle auf andere Zie- Standardkanäle umleiten<br />

le umleiten, ohne dass die betroffenen Programme davon etwas mitbekommen.<br />

<strong>Die</strong>se benutzen immer die Standardkanäle, lediglich gelangen etwa die Ausgabedaten<br />

gegebenenfalls nicht mehr auf den Bildschirm bzw. ins Terminal-Fenster,<br />

sondern in eine beliebige andere Datei. <strong>Die</strong>se kann ein anderes Gerät sein, etwa<br />

der Drucker – es ist aber auch möglich, zum Beispiel eine Textdatei anzugeben, in<br />

der die Ausgabedaten abgelegt werden. <strong>Die</strong>se muss nicht einmal vorher existieren,<br />

sondern wird bei Bedarf neu erzeugt.<br />

Auf die gleiche Art und Weise können Sie auch den Standard-Eingabe-Kanal<br />

umleiten. Ein Programm erhält seine Informationen dann nicht von der Tastatur,<br />

sondern entnimmt sie der angegebenen Datei, die wiederum für ein Gerät stehen<br />

oder eine Datei im eigentlichen Sinne sein kann.<br />

B<br />

Tastatur und Bildschirm <strong>des</strong> »Terminals«, an dem Sie arbeiten (egal ob die<br />

Textkonsole eines <strong>Linux</strong>-Rechners, ein »echtes« seriell angeschlossenes Terminal,<br />

ein Terminalfenster in einer grafischen Umgebung oder eine Sitzung<br />

über das Netz etwa mit der Secure Shell), können Sie über die »Datei« /dev/<br />

tty ansprechen – wenn Sie Daten lesen wollen, meint dies die Tastatur, bei<br />

der Ausgabe den Bildschirm (umgekehrt wäre ziemlich albern). Der Aufruf<br />

$ grep xyz /dev/tty<br />

wäre zum Beispiel äquivalent zu unserem Beispiel weiter oben in diesem<br />

Abschnitt. Mehr über solche »besonderen Dateien« erzählt Kapitel 10.)<br />

8.1.2 Standardkanäle umleiten<br />

Den Standard-Ausgabe-Kanal können Sie mit dem Operator »>«, also dem »Größer- Standard-Ausgabe umleiten<br />

Als«-Zeichen, umleiten. So wird im folgenden Beispiel die Ausgabe von »ls -laF«<br />

in eine Datei namens inhalt umgelenkt; auf dem Bildschirm erscheint dabei lediglich<br />

$ ls -laF >inhalt<br />

$ _<br />

Falls die Datei inhalt noch nicht existiert, wird sie neu angelegt. Sollte hingegen<br />

bereits eine Datei dieses Namens vorhanden sein, wird deren Inhalt überschrieben.<br />

Das ganze arrangiert die Shell, noch bevor das gewünschte Programm überhaupt<br />

gestartet wird – die Ausgabedatei wird also auch dann angelegt, wenn der<br />

Copyright © 2012 <strong>Linup</strong> <strong>Front</strong> GmbH

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!