Galileo Computing < openbook >
Galileo Computing - Bücher zur Programmierung und Softwareentwicklung
Galileo Computing - Bücher zur Programmierung und Softwareentwicklung


'Wie werde ich Unix-Guru' als Buch bestellen
A. Willemer
Wie werde ich UNIX-Guru
I  ANWENDUNG
Know-How für Unix/Linux-User: Einführung, Shell, Befehle, Hilfe, Arbeit mit Dateien, Editoren, Reguläre Ausdrücke, nützliche Tools, Hardware.

II  ADMINISTRATION
Tools, Systemstart, Benutzer verwalten, Hardware konfigurieren, Software installieren, Datensicherung, Tuning, Kernel

III  NETZWERK
Client/Server Systeme, TCP/IP, Routing, IPv6, Internet-Dienste, DHCP, Webserver, Firewalls

IV  DAS X-WINDOW SYSTEM
Die grafische Oberfläche von UNIX einrichten und nutzen

V  PROGRAMMIERUNG VON SHELLSKRIPTEN
Automatisieren von Tasks durch Shell-Skripte.

VI  PERL
Interpreter, Syntax, Variablen, Steuerung, Funktionen, UNIX-Aufrufe, GUIs mit Tk

VII  PROGRAMMIERWERKZEUGE
C-Compiler, Analyse-Tools, CVS, yacc, diff

VIII  UNIX-SYSTEMAUFRUFE
UNIX-Befehle in eigenen Programmen nutzen

IX  LITERATUR
Weiterführende Literatur zu UNIX und LINUX

 
Galileo Computing / <openbook> / "Wie werde ich UNIX-Guru ?"
« Ein- und Ausgabe als UNIX-Kommandos verknüpfen Piping »

Umleitung

Durch Anhängen von < meinedatei an einen Befehl wird der Inhalt der Datei meinedatei als Eingabe verwandt. Die Datei meinedatei wird also für das Programm zum stdin. Durch Anhängen von > meinedatei wird die Ausgabe auf die Datei meinedatei umgeleitet. Also wird die Datei meinedatei für das Programm zum stdout. Beides ist kombinierbar. Beispielsweise bedeutet

sort <eingabedatei  >ausgabedatei

dass die Datei eingabedatei als Eingabe für den Sortierbefehl verwendet wird und dass die Ergebnisse in der Datei ausgabedatei abgelegt werden.

cat >testdatei

Mit diesem Kommando kann man auch dann Textdateien erzeugen, wenn kein Editor verfügbar ist. Hier werden zwei Effekte ausgenutzt. Der erste ist die Umleitung der Ausgabe. Die Ausgabe von cat wird nicht am Bildschirm angezeigt, sondern in eine Datei geschrieben. Es wird also die Datei testdatei erzeugt. Der zweite Effekt ist, dass keine Eingabedatei für cat angegeben wird. Dementsprechend greift cat auf die Standardeingabe, nämlich die von der Tastatur zu. Es wird also so lange von der Tastatur eingelesen, bis diese Eingabeeinheit am Ende der Datei ist. Das Ende der Datei wird bei der Tastatur mit ctrl-D erzeugt. Das Erzeugen von Dateien auf diese Weise ist natürlich hochgradig unbequem, da es kaum Korrekturmöglichkeiten gibt.

Beim Umleiten einer Ausgabe wird die Zieldatei zunächst geleert. Diesen Effekt kann man nutzen, wenn eine Protokolldatei zu groß wird. Da solche Dateien von anderen Prozessen beschrieben werden, kann man sie nicht einfach löschen. Auch wenn man die Datei unter diesem Namen wieder erzeugt, ist es nicht dieselbe Datei, die der Hintergrundprozess bearbeitet hatte. Mit dem Größerzeichen und dem Dateinamen wird die Datei sofort auf 0 Byte zurückgesetzt. Dabei ist die Datei nicht gelöscht worden. Es ist exakt die Datei, die der Hintergrundprozess im Zugriff hatte.

> /var/log/messages

Nicht immer soll der Inhalt der Datei gelöscht werden, in die man die Ausgabe umleitet. Verwendet man statt einem Größerzeichen zwei, so wird die Ausgabe an die existierende Datei angehängt.

Um stderr umzuleiten, wird eine 2 vor das Größerzeichen geschrieben. Dies ist beispielsweise wichtig, wenn man die Fehlermeldungen eines Compilers in einer Datei auffangen will.Das funktioniert nicht in der C-Shell.

cc mistprogramm.c 2>fehlerliste

Um stdout und stderr in die gleiche Datei umzuleiten, gibt es je nach verwendeter Shell zwei Umleitungsoperatoren. Auf die verschiedenen Shells wird ab S. shell eingegangen. Bei der Kornshell wird an das Größerzeichen ein kaufmännisches Und mit einer 1 angehängt. Bei der C-Shell wird nur das kaufmännische Und vor das Größerzeichen gestellt. Soll der Compiler des obigen Beispiels Fehlermeldungen und Ausgaben in dieselbe Datei umleiten, lauten die alternativen Befehle:

cc mistprogramm.c 2>&1 fehlerliste
cc mistprogramm.c SPMamp;> fehlerliste

Manchmal kann man mit den Ausgaben der Programme überhaupt nichts anfangen. Für solche Zwecke hat UNIX ein Datengrab oder einen Mülleimer, der /dev/null heißt. Alle Daten, die auf diese Pseudodatei umgeleitet werden, verschwinden auf Nimmerwiedersehen.



« Ein- und Ausgabe als | UNIX-Kommandos verknüpfen | Piping »
 
 Zum Katalog
Zum Katalog
Wie werde ich UNIX-Guru?
bestellen
 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 UNIX/Linux

PHP 4-Workshop

Einstieg in Python

Perl fürs Web

MySQL 4

GNOME 2.0
 Empfehlung

Einstieg in XML
 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
Info

 MyGalileo
Der Service für registrierte Leser:
Zu MyGalileo
Info



Copyright © Galileo Press GmbH 2003
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.
[Galileo Computing]

Galileo Press GmbH, Gartenstraße 24, 53229 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de