4Sep

So speichern Sie die Ausgabe eines Befehls in eine Datei in Bash( aka das Linux- und macOS-Terminal)

click fraud protection

Wenn Sie einen Befehl an der Bash-Eingabeaufforderung ausführen, gibt es normalerweise die Ausgabe dieses Befehls direkt an das Terminal aus, so dass Sie es sofort lesen können. Mit bash können Sie auch die Ausgabe eines Befehls umleiten und in einer Textdatei speichern, um die Ausgabe später zu überprüfen.

Dies funktioniert in bash auf jedem Betriebssystem, von Linux und macOS bis zu Ubuntu-basierter Windows 10 Bash-Umgebung.

Option 1: Ausgabe nur an eine Datei umleiten

Um eine Bash-Umleitung zu verwenden, führen Sie einen Befehl aus, geben Sie den Befehl & gt;oder & gt; & gt;Geben Sie den Pfad einer Datei an, zu der die Ausgabe umgeleitet werden soll.

  • & gt;Leitet die Ausgabe eines Befehls in eine Datei um und ersetzt den vorhandenen Inhalt der Datei.
  • & gt; & gt;Leitet die Ausgabe eines Befehls in eine Datei um und hängt die Ausgabe an den vorhandenen Inhalt der Datei an.

Technisch leitet dies "stdout" - die Standardausgabe, die den Bildschirm darstellt - in eine Datei um.

instagram viewer

Hier ist ein einfaches Beispiel. Der Befehl ls listet Dateien und Ordner im aktuellen Verzeichnis auf. Damit. Wenn Sie den folgenden Befehl ausführen, listet ls Dateien und Ordner im aktuellen Verzeichnis auf. Sie werden jedoch nicht auf den Bildschirm gedruckt, sondern in der von Ihnen angegebenen Datei gespeichert.

ls & gt;/path/to/-Datei

Sie müssen den Pfad zu einer vorhandenen Datei nicht angeben. Geben Sie einen gültigen Pfad an, und bash erstellt eine Datei an diesem Speicherort.

Wenn Sie den Inhalt der Datei anzeigen, sehen Sie die Ausgabe des Befehls ls. Der Befehl cat gibt beispielsweise den Inhalt einer Datei an das Terminal aus:

cat /path/to/-Datei

Denken Sie daran, dass & gt;Der Operator ersetzt den vorhandenen Inhalt der Datei durch die Ausgabe des Befehls. Wenn Sie die Ausgabe mehrerer Befehle in einer einzigen Datei speichern möchten, verwenden Sie die & gt; & gt;Operator stattdessen. Mit dem folgenden Befehl werden beispielsweise Systeminformationen an die von Ihnen angegebene Datei angehängt:

uname -a & gt; & gt;/path/to/-Datei

Wenn die Datei noch nicht existiert, erstellt bash die Datei. Andernfalls belässt bash den vorhandenen Inhalt der Datei und fügt die Ausgabe an das Ende der Datei an.

Wenn Sie den Inhalt der Datei anzeigen, werden die Ergebnisse Ihres zweiten Befehls an das Ende der Datei angehängt:

Sie können diesen Vorgang beliebig oft wiederholen, um die Ausgabe an das Ende der Datei anzuhängenDatei.

Option 2: Drucken Sie die Ausgabe normalerweise und leiten Sie sie in eine Datei um

Sie möchten die Ausgabe möglicherweise nicht mit der & gt;oder & gt; & gt;Operatoren, da Sie die Ausgabe des Befehls im Terminal nicht sehen können. Dafür ist der Tee-Befehl zuständig. Der Befehl tee gibt die empfangene Eingabe an den Bildschirm aus, und speichert sie gleichzeitig in einer Datei.

Verwenden Sie die folgende Syntax, um die Ausgabe eines Befehls an tee zu übergeben, sie auf Ihren Bildschirm zu drucken und in einer Datei zu speichern:

command |tee /path/to/ Datei

Dies ersetzt alles in der Datei mit der Ausgabe des Befehls, genau wie die & gt;Operator.

Um die Ausgabe eines Befehls an T-Stück zu übergeben, wird auf Ihrem Bildschirm gedruckt und in einer Datei gespeichert, aber an das Ende der Datei angehängt:

command |tee -a /path/to/-Datei

Dies wird die Ausgabe an das Ende der Datei anhängen, genau wie die & gt; & gt;Operator.

Die Bash-Shell enthält einige zusätzliche, erweiterte Operatoren, die ähnliche Funktionen ausführen. Sie werden besonders nützlich sein, wenn Sie Bash-Skripte schreiben. Weitere Informationen finden Sie im Kapitel Erweiterte E / A-Umleitung im Handbuch zur erweiterten Bash-Skripterstellung.