Detaillierte Erklärung der Verwendung des Linux-Befehls „tee“

Detaillierte Erklärung der Verwendung des Linux-Befehls „tee“

Der Befehl tee wird hauptsächlich verwendet, um die Ausgabe in standout (Standardausgabestream, normalerweise das Befehlsausführungsfenster) vorzunehmen und gleichzeitig den Inhalt in eine Datei auszugeben. Im Folgenden finden Sie die Manpage-Informationen zu tee

Lesen von der Standardeingabe und Schreiben in die Standardausgabe und Dateien

Als nächstes machen wir uns anhand mehrerer Anwendungsszenarien mit dem tee -Befehl vertraut.

Szenario 1: So verwenden Sie den Tee-Befehl

Das Format des Tee-Befehls lautet:

tee [OPTION]… [DATEI]…

Aus der Definition in der Man-Datei wissen wir, dass tee Daten aus dem Standardeingabestream liest. Daher verwenden wir hier einen einfachen Befehl, um einen Ausgabestream als Eingabestream von tee zu generieren. Hier verwenden wir den ping -Befehl.

[mysql@localhost ~]$ ping baidu.com
PING baidu.com (220.181.57.216) 56(84) Bytes Daten.
64 Bytes von 220.181.57.216 (220.181.57.216): icmp_seq=1 ttl=128 Zeit=30,1 ms
64 Bytes von 220.181.57.216 (220.181.57.216): icmp_seq=2 ttl=128 Zeit=33,1 ms
64 Bytes von 220.181.57.216 (220.181.57.216): icmp_seq=3 ttl=128 Zeit=31,9 ms
64 Bytes von 220.181.57.216 (220.181.57.216): icmp_seq=4 ttl=128 Zeit=30,9 ms
...

Nun wollen wir die Ausgabe auf die Konsole veranlassen und den ausgegebenen Inhalt in einer anderen Datei für andere Zwecke speichern. Dann kann tee zum Einsatz kommen.

[mysql@localhost ~]$ ping baidu.com | tee ping-baidu.log #Speichern Sie den Inhalt in der Datei ping-baidu.log, während Sie die Ausgabe auf der Konsole durchführen. PING baidu.com (220.181.57.216) 56(84) Bytes Daten.
64 Bytes von 220.181.57.216 (220.181.57.216): icmp_seq=1 ttl=128 Zeit=30,6 ms
64 Bytes von 220.181.57.216 (220.181.57.216): icmp_seq=2 ttl=128 Zeit=30,5 ms
64 Bytes von 220.181.57.216 (220.181.57.216): icmp_seq=3 ttl=128 Zeit=30,2 ms
^C[mysql@localhost ~]$ cat ping-baidu.log #Überprüfen Sie, ob der Dateiinhalt mit der Ausgabe übereinstimmt PING baidu.com (220.181.57.216) 56(84) Bytes Daten.
64 Bytes von 220.181.57.216 (220.181.57.216): icmp_seq=1 ttl=128 Zeit=30,6 ms
64 Bytes von 220.181.57.216 (220.181.57.216): icmp_seq=2 ttl=128 Zeit=30,5 ms
64 Bytes von 220.181.57.216 (220.181.57.216): icmp_seq=3 ttl=128 Zeit=30,2 ms

Szenario 2: Wie füge ich Inhalt an eine Datei an?

Im obigen Vorgang erfolgt die Ausgabe an ping-baidu.log. Wenn diese Datei vorhanden ist, löschen Sie zuerst den gesamten Inhalt in der Datei und geben Sie dann den Inhalt ein. Diese Methode ist für einige Szenarien nicht geeignet. Wir hoffen, dass jede Ausgabe an die Datei angehängt wird. In diesem Fall können wir dies über den Parameter -a angeben.

ping baidu.com | tee -a ping-baidu.log 

Bildbeschreibung hier einfügen

Szenario 3: Wie kann die Ausgabe gleichzeitig in mehrere Dateien erfolgen?

Hängen Sie einfach den einzugebenden Dateinamen nach dem tee -Befehl an. Das spezifische Format ist:

ping baidu.com | ab ping.log ping-baidu.log 

Bildbeschreibung hier einfügen

Szenario 4: So leiten Sie die Ausgabe des Tee-Befehls als Eingabestream eines anderen Befehls um

Fügen Sie einfach | und den nächsten Befehl nach tee -Befehl hinzu, um der Pipeline-Methode zu folgen.

Bildbeschreibung hier einfügen

Szenario 5: Erhöhen der Berechtigungsstufe zum Schreiben in eine Datei mithilfe des Befehls „tee“

Wenn wir den Linux-Server tatsächlich betreiben und bestimmte Dateien konfigurieren, stellen wir nach Abschluss der Konfiguration und beim Speichern fest, dass unser aktueller Benutzer nicht über die Datei zum Speichern der Datei verfügt. Dies ist sehr frustrierend. Gibt es eine Lösung? Zu diesem Zeitpunkt rettet uns der tee -Befehl die Probleme.

Der spezifische Vorgang besteht darin, beim Speichern der Datei Folgendes einzugeben :w !sudo tee % . Zu diesem Zeitpunkt erinnert Sie vi daran, das Kennwort für den sudo-Vorgang einzugeben. Nach korrekter Eingabe wird die Datei gespeichert. Zu diesem Zeitpunkt können Sie die Datei sicher beenden :q!

Szenario 6: Wie man dafür sorgt, dass Tee Interrupt-Ereignisse ignoriert

Der Parameter -i ermöglicht es tee , Interrupt-Ereignisse (SIGINT) zu ignorieren.

ping baidu.com | tee -i ping.log

siehe:

https://www.howtoforge.com/linux-tee-command/

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Verwenden von Puppeteer zum Implementieren der Screenshot-Funktion für Webseiten unter Linux (CentOS)
  • Linux gibt Informationen aus und zeichnet sie in einer Datei auf (Befehl „tee“)

<<:  Eine kurze Diskussion über verschiedene Möglichkeiten zur Implementierung einer Front-End-JS-Sandbox

>>:  Grafisches Tutorial zur Installation und Konfiguration komprimierter Pakete in MySQL 8.0.16

Artikel empfehlen

Schritte zum Öffnen des MySQL-Binlogs

Binlog ist eine binäre Protokolldatei, die zum Au...

Vue-Komponente zur Realisierung einer Karussell-Animation

In diesem Artikelbeispiel wird der spezifische Co...

Einige Erkenntnisse und Gedanken zu iframe

Diese Geschichte beginnt heute mit einer unerwarte...

Details zum JavaScript-Prototyp und zur Prototypkette

Inhaltsverzeichnis 1. Prototyp (expliziter Protot...

So implementiert Webpack das Caching statischer Ressourcen

Inhaltsverzeichnis Einführung Unterscheiden Sie z...

Verwendung und Unterschied von Vue.set() und this.$set()

Wenn wir Vue zur Entwicklung verwenden, kann eine...

Kombinieren von XML- und CSS-Stilen

student.xml <?xml version="1.0" enco...

CSS zum Erzielen eines schnellen und coolen Schüttelanimationseffekts

1. Einführung in Animate.css Animate.css ist eine...

Beispielcode für den dynamischen CSS-Ladebalkeneffekt

Mit dem Wissen über CSS-Variablen werde ich den C...

Eine kurze Erläuterung, wann MySQL interne temporäre Tabellen verwendet

Gewerkschaftsexekution Verwenden Sie zur Vereinfa...

Die Verbindung zwischen JavaScript und TypeScript

Inhaltsverzeichnis 1. Was ist JavaScript? 2. Wofü...

So zeigen Sie Versionsinformationen in Linux an

So zeigen Sie Versionsinformationen unter Linux a...