Der Befehl tee
ist äußerst praktisch, da er gleichzeitig von der Standardeingabe liest und sowohl in der Standardausgabe als auch in eine oder mehrere Dateien schreibt. In Kombination mit anderen Befehlen kann tee
in zahlreichen Szenarien verwendet werden. Lass uns die Grundlagen der Verwendung des tee
Befehls näher betrachten.
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, sodasstee
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 ist äußerst nützlich, da er von der Standardeingabe liest und gleichzeitig in die Standardausgabe und eine oder mehrere Dateien schreibt. Durch Kombination mit anderen Befehlen ermöglicht tee
eine Vielzahl von Anwendungen. Wenn du Fragen oder Feedback hast, lass gerne einen Kommentar da.