tee
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
Der Befehl tee (Englisch für den Buchstaben T in Anlehnung an ein T-Stück in Leitungen) liest von der Standardeingabe stdin, also z.B. der Tastatur oder der Ausgabe eines anderen Programms, die über eine Pipe umgeleitet wurde und gibt dann das Eingelesene sowohl auf die Standardausgabe stdout (also z.B. den Bildschirm) und parallel in ein oder mehrere Dateien aus.
Installation¶
tee ist Teil des Pakets coreutils welches Teil jeder Ubuntu-Installation ist.
Benutzung¶
Die allgemeine Syntax von tee lautet[1]:
tee [OPTION] DATEI [DATEI2] [...]
Es muss mindestens eine Datei angegeben werden, in die geschrieben wird, es können aber auch mehrere Dateien übergeben werden.
Wie in der Einleitung beschrieben liest tee von stdin, d.h. das Kommando wird normalerweise in Kombination mit einem anderen benutzt.
Der Aufruf von
echo "Hallo Welt" | tee log.txt
würde "Hallo Welt" ausgeben und gleichzeitig in die Datei log.txt schreiben. Existiert die Datei nicht, wird diese angelegt. Existiert die Datei, wird der Inhalt gelöscht und neu geschrieben. Möchte man die Ausgabe anhängen, muss man tee mit der Option -a
wie append, anhängen aufrufen:
echo "Hallo Welt" | tee -a log.txt
Sollten für das Schreiben der Ausgabedatei Root-Rechte benötigt werden, muss dem tee
ein sudo
vorangestellt werden - und nicht dem Befehl, von dessen Ausgabe tee liest.
Die Ausgabe nach stdout von tee kann umgelenkt und weiterverarbeitet werden.
Der Aufruf von
ping -c 2 ubuntuusers.de | tee log.txt | wc -w
würde das Ergebnis des Anpingens von ubuntuusers.de
in die Datei log.txt schreiben, die Ausgabe nach stdout wird aber von wc weiterverarbeitet und die Worte der Ausgabe gezählt.
Links¶