Wie man Save die Ausgabe eines Befehls in eine Datei im Linux-Terminal [Beginner’s Tip]

Wenn Sie einen Befehl oder ein Skript im Linux-Terminal ausführen, wird die Ausgabe auf dem Bildschirm gedruckt, damit Sie sie sofort anzeigen können.

Es kann vorkommen, dass Sie die Ausgabe für zukünftige Referenzen in einer Datei speichern müssen. Jetzt können Sie sicher kopieren und in das Linux-Terminal einfügen, aber es gibt bessere Möglichkeiten, die Ausgabe eines Shell-Skripts oder -Befehls in der Linux-Befehlszeile zu speichern. Lassen Sie mich sie Ihnen zeigen.

Methode 1: Verwenden Sie die Umleitung, um die Befehlsausgabe in einer Datei unter Linux zu speichern

Sie können Verwenden Sie zu diesem Zweck die Umleitung in Linux. Mit dem Umleitungsoperator wird die Ausgabe nicht auf dem Bildschirm angezeigt, sondern in die bereitgestellte Datei.

  • > leitet die Befehlsausgabe in eine Datei um und ersetzt alle vorhandenen Inhalte in der Datei.
  • Die >> Weiterleitungen fügt die Befehlsausgabe am Ende des vorhandenen Inhalts (falls vorhanden) der Datei hinzu.

Verwenden Sie den STDOUT-Umleitungsoperator >, um die Ausgabe in eine Datei wie diese umzuleiten:

command > file.txt

Wenn die Datei file.txt nicht existiert, wird sie automatisch erstellt. Wenn Sie die > Umleitung erneut mit derselben Datei verwenden, wird der Dateiinhalt durch die neue Ausgabe ersetzt.

Der example unten zeigt es besser. Es speichert zuerst die Ausgabe des Befehls ls -l. Und später ersetzt es den Inhalt der Datei durch die Ausgabe des Befehls ls *.c.

Umleiten der Befehlsausgabe in eine Datei

Wenn Sie beim Speichern der Ausgabe eines Skripts oder Befehls den Inhalt der vorhandenen Datei nicht verlieren möchten, verwenden Sie die Umleitungsoperation im Anfügemodus mit >>.

command >> file.txt

Dies example demonstriert es besser:

Umleiten der Befehlsausgabe in eine Datei im Anfügemodus

Auch hier wird die Datei automatisch erstellt, wenn sie nicht existiert.

Bonus-Tipp: Save Linux-Befehlsausgabe sowie Fehler in eine Datei

Wenn Ihr Linux-Befehl einen Fehler zurückgibt, wird er nicht in der Datei gespeichert. Sie können sowohl die Befehlsausgabe als auch den Befehlsfehler in derselben Datei speichern, indem Sie 2>&1 wie folgt verwenden:

Befehl > Datei.txt 2>&1

Grundsätzlich steht 0 für Standardeingabe, 1 für Standardausgabe und 2 für Standardfehler. Hier leiten Sie (>) Standardfehler (2) an dieselbe Adresse (&) wie Standardausgabe (1) weiter.

Methode 2: Verwenden Sie den Befehl tee, um die Ausgabe anzuzeigen und auch in einer Datei zu speichern

Ist Ihnen übrigens aufgefallen, dass Sie beim Senden der Befehlsausgabe an eine Datei diese nicht mehr auf dem Display sehen können? Der tee-Befehl unter Linux löst dieses Problem für Sie.

Wie ein T-Rohr, das einen Wasserstrom in zwei Richtungen sendet, sendet der Befehl tee die Ausgabe sowohl an das Display als auch an eine Datei (oder als Eingabe für einen anderen Befehl). Sie können es so verwenden:

command | tee file.txt

Auch hier wird die Datei automatisch erstellt, falls sie noch nicht existiert.

Sie können den tee-Befehl auch im Append-Modus mit der Option -a folgendermaßen verwenden:

command | tee -a file.txt

Lassen Sie es mich anhand einiger leicht verständlicher Beispiele demonstrieren:

Ich habe in meinen Beispielen einfache Linux-Befehle verwendet. Aber seien Sie versichert, Sie können diese Methoden verwenden, um die Ausgabe von zu speichern bash auch Skripte.

Hinweis: Vermeiden Sie Pipe-Fall beim Speichern der Befehlsausgabe in einer Datei

Sie sind wahrscheinlich mit der Pipe-Umleitung vertraut. Sie können es verwenden, um Linux-Befehle zu kombinieren, aber Sie können die Ausgabe nicht an eine Datei weiterleiten. Es führt zu einem Fehler, dass der Dateiname-Befehl nicht gefunden wurde:

Dies liegt daran, dass die Pipe die Ausgabe eines Befehls zur Eingabe eines anderen Befehls umleitet. Und in diesem Fall geben Sie ihm einen Dateinamen, während es einen Befehl erwartet.

Wenn Sie neu in der Linux-Befehlszeile sind, hoffe ich, dass dieses kurze Tutorial Ihr Linux-Wissen ein wenig erweitert. E/A-Umleitung ist ein wesentliches Konzept, das man sich bewusst sein sollte.

Fragen und Anregungen sind wie immer willkommen.