Leser wie Sie helfen, MUO zu unterstützen. Wenn Sie über Links auf unserer Website einen Kauf tätigen, erhalten wir möglicherweise eine Affiliate-Provision. Weiterlesen.

Unter Linux können Sie die Befehlsausgabe in Dateien speichern, um die Ausgabe umzuleiten. Beim Speichern der Ausgabe in einer Datei mit der > oder >> Operatoren wird die Ausgabe umgeleitet, ohne dass Informationen auf dem Terminal angezeigt werden.

Was aber, wenn Sie die Ausgabe auf dem Bildschirm ausdrucken und gleichzeitig in einer Datei speichern möchten? Obwohl Sie dies nicht mit den Ausgabeumleitungsoperatoren tun können, ist dies mit dem tee-Befehl unter Linux möglich.

Grundlegende Befehlssyntax

tee ist ein Standard-Linux-Dienstprogramm, das verwendet wird, um die Ausgabe eines Befehls zwischen der Standardausgabe und Dateien aufzuteilen.

Im Gegensatz zu den meisten Linux-Befehlen wird tee mit anderen Programmen verwendet, die eine Pipe (|). Der Pipe-Operator – einer der viele Befehlszeilenoperatoren unter Linux – lässt ein Programm die Ausgabe eines anderen Befehls als Eingabe verwenden. Möglicherweise haben Sie Pipe verwendet, während Sie nebenher grep verwendet haben

instagram viewer
der ls-Befehl oder Katze.

Die grundlegende Syntax des tee-Befehls lautet:

Befehl | Tee-Optionen Dateipfad

...Wo Optionen Und Dateipfad sind die Befehlszeilenargumente und der Pfad zu der Datei, in der Sie die Ausgabe speichern möchten.

Split-Terminal-Ausgang unter Linux Mit T-Stück

Die einfachste Verwendung von tee besteht darin, die Ausgabe aufzuteilen, um sie im Terminal anzuzeigen und in einer Datei zu speichern. Um beispielsweise die Ausgabe des Befehls ls in einer Textdatei mit dem Namen "Ausgabe.txt," laufen:

ls | tee ./output.txt

Die Ausgabe zeigt wie gewohnt den Inhalt des aktuellen Arbeitsverzeichnisses an. Wenn Sie die Datei output.txt überprüfen, werden Sie feststellen, dass tee die Ausgabe auch in der Datei gespeichert hat.

Wenn Sie einen Dateipfad angeben, prüft tee, ob die Datei existiert. Wenn es keine findet, erstellt es die Datei automatisch für Sie, wodurch sie bequem in Shell-Skripten verwendet werden kann. Es ist nützlich, wenn Sie die Ausgabe eines Programms oder Skripts zur späteren Bezugnahme protokollieren möchten.

Sie müssen dem Befehl tee sudo voranstellen, um Daten in einer Datei zu lesen oder zu speichern, die dem Root-Benutzer gehört.

Wenn die angegebene Datei Daten enthält, die Sie nicht überschreiben möchten, verwenden Sie die -A Flagge zu anhängen die Ausgabe in die Datei, anstatt die gesamte Datei zu löschen und dann die Daten zu speichern:

ls | tee -a ./output.txt

Ebenso können Sie die Ausgabe in mehrere Dateien umleiten, indem Sie die Pfade angeben, die durch einzelne Leerzeichen getrennt sind:

ls | tee ./output1.txt ./output2.txt

Manchmal können unerwartete Fehler oder manuelle Unterbrechungen (mit Strg + C oder Strg + Z) im vorherigen Befehl kann dazu führen, dass tee beendet wird. Um solche Unterbrechungen zu ignorieren, verwenden Sie die -ich Flagge:

ls | tee -i Ausgabe.txt

Zu Holen Sie sich die Befehlszeilenhilfe Bezüglich tee oder finden Sie die Versionsdetails, verwenden Sie die --Hilfe Und --Ausführung Flaggen wie folgt:

tee --Hilfe
tee --Version

Umleiten der Ausgabe auf einen anderen Befehl

Sie können eine Ausgabekette erstellen, indem Sie tee mit anderen Linux-Befehlen verbinden. Dadurch wird die Ausgabe in der angegebenen Datei gespeichert und dann zur Verarbeitung an den nächsten Befehl übergeben.

Verwenden Sie das folgende Format, um die Ausgabe von tee auf einen anderen Befehl umzuleiten:

Befehl | tee Dateipfad | andererBefehl

Der folgende Befehl speichert beispielsweise die Ausgabe des Befehls ls in Ausgabe.txt bevor es schließlich für eine schnelle Suche nach grep umgeleitet wird:

ls | tee ausgabe.txt | grep "Dokumente"

Insgesamt können Sie mit dem Tee-Befehl herumspielen die Standardein- und -ausgabe unter Linux.

Bearbeiten von Ausgabe und Text mit Linux-Befehlen

Der Befehl tee fügt den standardmäßigen Ausgabeumleitungsoperatoren unter Linux dringend benötigte Funktionen hinzu. Sie können damit sogar die Ausgabe eines Befehls manipulieren, bevor Sie ihn an ein anderes Programm weitergeben.

Ebenso können Sie Text mithilfe einiger Standard-Linux-Befehle über das Terminal ändern. Es mag einige Zeit dauern, sich daran zu gewöhnen, aber am Ende ist die Textmanipulation über die Befehlszeile für jeden Systemadministrator erlernbar.