Speichern der Terminalausgabe in einer Datei unter Linux

Cum se salvează ieșirea terminalului într-un fișier în Linux
⏱️ 10 min read

Während Sie am Linux-Terminal arbeiten, möchten Sie häufig die Terminalausgabe eines Befehls in einer Datei speichern. Diese Datei kann als Information für einen anderen Vorgang oder zum einfachen Protokollieren der Terminalaktivität verwendet werden. Hier sind vier verschiedene Möglichkeiten, wie Terminalinhalte in einer Datei gespeichert werden können.

Die folgenden Methoden gelten für alle Linux-Distributionen und können sogar auf Macs und BSD verwendet werden. Das einzige, worüber Sie nachdenken müssen, ist, welche Methode am besten geeignet ist, um die Arbeit zu erledigen.

1. Verwenden von Umleitungsoperatoren

Die gebräuchlichste und grundlegendste Möglichkeit, die Ausgabe vom Terminal in eine Datei umzuleiten, ist die Verwendung von > und >> Betreiber. Sie leiten nur die Ausgabe an eine angegebene Textdatei. Sie leiten keine Fehler um. Diese werden weiterhin im Terminal angezeigt.

Das > Der Operator leitet die Ausgabe in eine Datei um und überschreibt den Inhalt dieser Datei, während der >> Der Operator hängt die Ausgabe an das Ende der Datei an. Hier ist eine Illustration:

Erstellen Sie zunächst eine Datei mit dem touch Befehl.

Eine Zeile wird jetzt mit dem Befehl “file1.txt” wiedergegeben > Operator. Man kann sich das als Dumping der Ausgabe des vorstellen echo Befehl zu “file1.txt”.

Terminalausgang 2

Eine weitere Zeile wird in “file1.txt” wiedergegeben.

Terminalausgang 3

Beim Anzeigen des Inhalts von “file1.txt” sehen wir, dass nur die zweite Zeile in der Datei gespeichert ist. Das liegt daran, dass die > Der Operator überschreibt den vorhandenen Dateiinhalt.

Terminalausgang 4

Wenn wir Inhalte an die Datei anhängen möchten, dann die >> Operator muss angegeben werden.

Terminalausgang 5

Wir können das Ergebnis der erfolgreichen Append-Operation anzeigen.

Terminalausgang 6

Wenn Sie nur die Fehler speichern möchten, verwenden Sie die 2> und 2>> Operatoren stattdessen.

Wenn Sie daran interessiert sind, alles zu protokollieren, verwenden Sie &> und &>> um alle Ausgaben (einschließlich Fehler) in eine Datei umzuleiten, ohne dass etwas im Terminal angezeigt wird.

2. Verwenden Sie den Befehl tee

Bei den oben gezeigten Umleitungsoperatoren wird die Ausgabe des Befehls nicht auf dem Bildschirm angezeigt. Wenn Sie möchten, dass die Ausgabe auf dem Terminal angezeigt und in eine Datei geschrieben wird, können Sie die verwenden tee Befehl.

Das Pipe-Symbol (|) übergibt die Ausgabe von <command> als Eingabe zu tee, die wiederum die Ausgabe auf dem Bildschirm anzeigt. Wenn die -a Dann wird der Schalter angegeben tee Hängt diese Ausgabe an die angegebene Datei an, andernfalls wird der Inhalt dieser Datei überschrieben.

Terminalausgang 7

Gemäß dem oben gezeigten Befehl sollte der Text “vierte Anweisung” an “file1.txt” angehängt worden sein. Überprüfung mit dem cat Befehl bestätigt unsere Vermutung.

Terminalausgang 8

Sie können auch die verwenden |& Betreiber und die tee Befehl, um alles anzuzeigen und auch zu protokollieren.

3. Verwenden des Skriptbefehls

Mit dem script Befehl, die Ausgabe der folgenden Befehle wird automatisch in eine Datei geschrieben, bis sie zum Beenden aufgefordert wird. Dies kann mit einer Sitzung verglichen werden, in der die Terminalaktivität aufgezeichnet wird.

Zuerst die script Der Befehl wird mit dem Namen der Datei aufgerufen, um die Terminalaktivität zu speichern.

Terminalausgang 9

Eine Meldung fordert Sie auf, das Skript zu starten, und dann werden die Befehle nacheinander eingegeben – hier date, pwd, ls und cal.

Terminalausgang 10

Um das Scripting zu beenden, müssen Sie die exit Befehl wird aufgerufen. Es wird die Meldung angezeigt, dass die Skriptoperation ausgeführt wurde. Anzeigen des Inhalts von “script_log.txt” mit catsehen wir, dass der Inhalt der Datei wie eine exakte Nachbildung des Terminals aussieht.

Terminalausgang 11

Gegen Ende sehen wir den Zeitstempel, als das Skript fertiggestellt wurde. Wenn diese Datei in einem Texteditor angezeigt wird, können wir Textinhalt und Junk sehen. Dies ist eigentlich die Bash-Eingabeaufforderung in einem Format, das für die Bash-Shell verständlich ist.

Terminal 29

Nur wenn diese Datei in der Shell mit dem angezeigt wird cat Befehl erhalten wir vollständig verständliche Informationen.

Versuchen wir es mit einem anderen und speichern die Terminalausgabe in “2-script_log.txt”.

Terminalausgang 12

Befehlepwd und ls getippt sind.

Terminalausgang 13

Ohne zu tippen exitwird das Terminalfenster geschlossen. Wenn wir versuchen, den Inhalt von “2-script_log.txt” anzuzeigen, können wir sehen, dass er leer ist.

Terminalausgang 14

Wenn eine Skriptsitzung initiiert wurde, wird der Inhalt dieser Sitzung im Speicher gespeichert und nur dann in die Datei geschrieben, wenn die exit Befehl wird aufgerufen. Hier seitdem exit wurde nicht aufgerufen, der Inhalt dieser Sitzung wurde nicht in “2-script_log.txt” gespeichert.

Das Überschreib- und Anhängeverhalten von Skripten ist ähnlich wie tee und die Umleitungsoperatoren. Das -a switch hängt den Inhalt einer Sitzung an eine zuvor vorhandene Datei an. Hier Ausgabe der echo Befehl wird an “script_log.txt” angehängt.

Terminalausgang 15

Lassen Sie uns die Ausgabe von “script_log.txt” anzeigen. Wir können die zuvor gespeicherte Ausgabe des sehen date, pwd, ls, cal Befehle gefolgt vom Zeitstempel; Danach finden wir die Informationen der nächsten Sitzung, die mit dem Zeitstempel enden.

Terminalausgang 16

4. Verwenden des Befehls logsave

logsave verhält sich ähnlich wie tee – Es zeigt die Ausgabe auf dem Bildschirm an und speichert sie auch in einer Datei. Es wird wie folgt verwendet:

Terminalausgang 17

logsave schreibt die Ausgabe von <command> zu der von angegebenen Datei <file_name>. Lassen Sie uns die Ausgabe von “mylog_file.txt” anzeigen.

Terminalausgang 18

Es werden viele Informationen zusammen mit dem Ergebnis eines Befehls gespeichert. Hier werden zwei Zeitstempel gespeichert: Der erste ist der Zeitpunkt, zu dem der Befehl initiiert wurde, und der zweite ist der Zeitpunkt, zu dem der Befehl seine Ausführung abgeschlossen hat. Hier sind die Zeitstempel gleich. Wenn eine rekursive Verzeichnisliste im Verzeichnis “/ home” auf einem Mehrbenutzersystem initiiert wird, dauert die vollständige Ausführung des Befehls eine Weile. In diesem Fall wären die Start- und Endzeitstempel unterschiedlich.

Die Ausgabe weiterer Befehle kann an dieselbe Datei angehängt werden, wenn die -a Schalter wird verwendet mit logsave.

Terminalausgang 19

Wenn wir versuchen, den Inhalt von “mylog_file.txt” anzuzeigen, sehen wir, dass die Ausgabe der beiden zuvor eingegebenen Befehle durch eine Zeile abgegrenzt ist.

Terminalausgang 20

Dies sind einige der nützlicheren Möglichkeiten, um eine Terminalausgabe in einer Datei unter Linux zu speichern. Welches bevorzugen Sie?

Verbunden:

  • Multitasking im Linux-Terminal mit Bildschirm
  • So installieren Sie ein Wörterbuch zur Verwendung in Linux Terminal
  • Verwendung des Linux-Terminals als Taschenrechner

Join our Newsletter and receive offers and updates! ✅

0 0 votes
Article Rating
Benutzerbild von Routech

Routech

Routech is a website that provides technology news, reviews and tips. It covers a wide range of topics including smartphones, laptops, tablets, gaming, gadgets, software, internet and more. The website is updated daily with new articles and videos, and also has a forum where users can discuss technology-related topics.

Das könnte dich auch interessieren …

Abonnieren
Benachrichtige mich bei
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x