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

Docker stellt über einen Port eine Verbindung zu einem Container her

Docker-Container-Verbindung 1. Netzwerk-Port-Mapp...

Zusammenfassung der Verwendung von vue Watch und Computed

Inhaltsverzeichnis 01. Hörer beobachten (1) Funkt...

So aktualisieren Sie CentOS7 auf CentOS8 (detaillierte Schritte)

Dieser Artikel erläutert anhand eines konkreten B...

Zusammenfassung des Wissens zu langsamen MySQL-Protokollen

Inhaltsverzeichnis 1. Einführung in Slow Log 2. L...

Einführung in die MySQL-Gesamtarchitektur

Die Gesamtarchitektur von MySQL ist in die Server...

Führen Sie die Shell oder das Programm im Docker-Container auf dem Host aus.

Um zu vermeiden, dass für den Betrieb immer wiede...

So verwenden Sie Docker Swarm zum Erstellen von WordPress

Ursache Ich habe WordPress einst auf Vultr einger...

Windows-Plattformkonfiguration Version 5.7 + MySQL-Datenbankdienst

Beinhaltet den Prozess der Initialisierung des Ro...

Details zur zugrundeliegenden Datenstruktur von MySQL-Indizes

Inhaltsverzeichnis 1. Indextyp 1. B+ Baum 2. Was ...

Bereinigungsmethode für das Docker-Verzeichnis /var/lib/docker/aufs/mnt

Der Dienst des Unternehmens verwendet Docker und ...

HTML-Tabellen-Tag-Tutorial (33): Attribut für vertikale Zellenausrichtung VALIGN

In vertikaler Richtung können Sie die Zellenausri...

JavaScript-Interview: So implementieren Sie die Methode zur Array-Abflachung

Inhaltsverzeichnis 1. Was ist Array-Flattening? 2...

Zusammenfassung gängiger MySQL-Befehle

Festlegen des MySQL-Root-Passworts Melden Sie sic...