|
|
Umleitung
Durch Anhängen von
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 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.
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|