So speichern Sie die Ausgabe eines Befehls in einer Datei in Bash (auch bekannt als Linux- und MacOS-Terminal)

Inhaltsverzeichnis:

Video: So speichern Sie die Ausgabe eines Befehls in einer Datei in Bash (auch bekannt als Linux- und MacOS-Terminal)

Video: So speichern Sie die Ausgabe eines Befehls in einer Datei in Bash (auch bekannt als Linux- und MacOS-Terminal)
Video: Netzwerkkabel LAN selber machen | iDomiX 2024, März
So speichern Sie die Ausgabe eines Befehls in einer Datei in Bash (auch bekannt als Linux- und MacOS-Terminal)
So speichern Sie die Ausgabe eines Befehls in einer Datei in Bash (auch bekannt als Linux- und MacOS-Terminal)
Anonim
Wenn Sie einen Befehl an der Bash-Eingabeaufforderung ausführen, gibt er normalerweise die Ausgabe dieses Befehls direkt an das Terminal aus, sodass Sie ihn sofort lesen können. Mit bash können Sie jedoch auch die Ausgabe eines Befehls "umleiten", indem Sie ihn in einer Textdatei speichern und die Ausgabe später überprüfen.
Wenn Sie einen Befehl an der Bash-Eingabeaufforderung ausführen, gibt er normalerweise die Ausgabe dieses Befehls direkt an das Terminal aus, sodass Sie ihn sofort lesen können. Mit bash können Sie jedoch auch die Ausgabe eines Befehls "umleiten", indem Sie ihn in einer Textdatei speichern und die Ausgabe später überprüfen.

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

Option 1: Ausgabe nur auf eine Datei umleiten

Um die Bash-Umleitung zu verwenden, führen Sie einen Befehl aus und geben Sie das an

>

oder

>>

Operator und geben Sie dann den Pfad einer Datei an, zu der die Ausgabe umgeleitet werden soll.

  • >

    leitet die Ausgabe eines Befehls in eine Datei um und ersetzt den vorhandenen Inhalt der Datei.

  • >>

    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, dh den Bildschirm - in eine Datei um.

Hier ist ein einfaches Beispiel. Das

ls

Befehl listet Dateien und Ordner im aktuellen Verzeichnis auf. So. Wenn Sie den folgenden Befehl ausführen,

ls

listet Dateien und Ordner im aktuellen Verzeichnis auf. Sie werden jedoch nicht auf dem Bildschirm gedruckt, sondern in der von Ihnen angegebenen Datei gespeichert.

ls > /path/to/file

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

Wenn Sie den Inhalt der Datei anzeigen, wird das angezeigt
Wenn Sie den Inhalt der Datei anzeigen, wird das angezeigt

ls

Ausgabe des Befehls. Zum Beispiel die

cat

Befehl druckt den Inhalt einer Datei an das Terminal:

cat /path/to/file

Denken Sie daran, das
Denken Sie daran, das

>

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

>>

stattdessen Operator. Mit dem folgenden Befehl werden beispielsweise Systeminformationen an die von Ihnen angegebene Datei angefügt:

uname -a >> /path/to/file

Wenn die Datei noch nicht vorhanden ist, erstellt bash die Datei. Andernfalls lässt bash den vorhandenen Inhalt der Datei allein und hängt 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ängen.
Sie können diesen Vorgang beliebig oft wiederholen, um die Ausgabe an das Ende der Datei anzuhängen.

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

Möglicherweise möchten Sie die Ausgabe nicht mit der

>

oder

>>

Operatoren, da Sie die Ausgabe des Befehls nicht im Terminal sehen. Das ist was die

tee

Befehl ist für. Der Abschlagbefehl druckt die eingegangenen Eingaben auf dem Bildschirm und speichert es gleichzeitig in einer Datei.

Um die Ausgabe eines Befehls weiterzuleiten

tee

Um es auf Ihrem Bildschirm auszudrucken und in einer Datei zu speichern, verwenden Sie folgende Syntax:

command | tee /path/to/file

Dadurch wird alles in der Datei durch die Ausgabe des Befehls ersetzt, genau wie das

>

Operator.

Um die Ausgabe eines Befehls weiterzuleiten
Um die Ausgabe eines Befehls weiterzuleiten

tee

auf Ihrem Bildschirm drucken und in einer Datei speichern, aber am Ende der Datei anhängen:

command | tee -a /path/to/file

Dadurch wird die Ausgabe genau wie die am Ende der Datei angehängt

>>

Operator.

Empfohlen: