Der Befehl tee liest von der Standardeingabe und schreibt gleichzeitig in die Standardausgabe und in eine oder mehrere Dateien. In Kombination mit anderen Befehlen kann tee in zahlreichen Szenarien verwendet werden.

tee Befehlssyntax

Die Syntax des tee Befehls sieht folgendermaßen aus:

tee [OPTIONEN] [DATEI]
- `OPTIONEN`:
	

		`-a` (`--append`) - Anstatt Dateien zu überschreiben, werden die Daten an die angegebenen Dateien angehängt.

		- `-i` (`--ignore-interrupts`) - Unterbrechungssignale werden ignoriert, sodass `tee` den Befehl ordnungsgemäß beendet.

		- Für eine vollständige Liste der Optionen, verwende `tee --help`.

	


- `DATEIEN` - Eine oder mehrere Dateien, in die die Ausgabedaten geschrieben werden.

Verwendung des tee Befehls

Die einfachste Anwendung des tee Befehls ist die Kombination mit einem Programm, um die Standardausgabe (stdout) anzuzeigen und gleichzeitig in eine Datei zu schreiben.

Im folgenden Beispiel verwenden wir den Befehl df, um Informationen über den verfügbaren Speicherplatz im Dateisystem zu erhalten. Die Ausgabe wird an tee weitergeleitet, der die Daten sowohl im Terminal anzeigt als auch in die Datei disk_usage.txt schreibt.

df -h | tee disk_usage.txt

Der Inhalt der Datei disk_usage.txt kann mit dem Befehl cat angezeigt werden.

Schreiben in mehrere Dateien

Mit dem tee Befehl können auch mehrere Dateien gleichzeitig beschrieben werden. Dazu werden die Dateinamen durch Leerzeichen getrennt als Argumente angegeben:

Befehl | tee Datei1.out Datei2.out Datei3.out

An die Datei anhängen

Standardmäßig überschreibt der tee Befehl die angegebene Datei. Wenn die Ausgabe an die Datei angehängt werden soll, verwende die Option -a (--append):

Befehl | tee -a Datei.out

Unterbrechungen ignorieren

Mit der Option -i (--ignore-interrupts) können Unterbrechungssignale ignoriert werden. Dies ist nützlich, wenn der Befehl mit CTRL+C unterbrochen wird und tee den Befehl dennoch ordnungsgemäß abschließen soll.

Befehl | tee -i Datei.out

Ausgabe ausblenden

Wenn die Ausgabe von tee nicht in der Standardausgabe angezeigt werden soll, kann sie stattdessen in /dev/null umgeleitet werden:

Befehl | tee Datei.out /dev/null

Tee in Verbindung mit sudo verwenden

Oftmals möchte man als sudo-Benutzer in eine Datei schreiben, deren Eigentümer “root” ist. Normalerweise würde dies fehlschlagen, da die Ausgabeumleitung nicht durch sudo durchgeführt wird, sondern vom unprivilegierten Benutzer. Um dieses Problem zu umgehen, fügt man einfach sudo vor den tee-Befehl ein:

echo "Neue Zeile" | sudo tee -a /etc/datei.conf

Mit dieser Verwendung von tee in Verbindung mit sudo ist es möglich, in Dateien zu schreiben, die einem anderen Benutzer gehören.

Fazit

Der tee Befehl liest von der Standardeingabe und schreibt gleichzeitig in die Standardausgabe und eine oder mehrere Dateien. Durch Kombination mit anderen Befehlen ermöglicht tee eine Vielzahl von Anwendungen.