So speichern Sie die Befehlszeilenausgabe in einer Datei unter Windows, Mac und Linux

So speichern Sie die Befehlszeilenausgabe in einer Datei unter Windows, Mac und Linux / Mac

Wenn Sie einen Befehl in einem Terminalfenster ausführen, wird die Ausgabe des Befehls normalerweise auf das Terminal oder den Bildschirm gedruckt, sodass Sie ihn sofort lesen können. Sie können die Ausgabe eines Befehls auch in eine Datei drucken, wenn Sie sie speichern möchten.

Das Speichern der Ausgabe eines Befehls in einer Datei ist hilfreich, wenn Sie versuchen, ein Problem zu diagnostizieren. Um Hilfe vom technischen Support zu erhalten, müssen Sie möglicherweise bestimmte Befehle auf Ihrem Computer ausführen und die Ergebnisse an das Support-Team senden. Dies ist einfach über die Ausgabeumleitung in der Befehlszeile.

Heute erfahren Sie, wie Sie die Ausgabe eines Befehls an eine Textdatei in der Bash-Shell unter Windows, Mac und Linux senden.

Hinweis: Wir werden das Mac-Terminal verwenden. Diese 6 fantastischen Terminalbefehle steigern Ihr MacBook. Diese 6 fantastischen Terminalbefehle steigern Ihr MacBook Mit dem Mac-Terminal können Sie einige wirklich coole Dinge tun. Lesen Sie mehr in unserem Beispiel, aber es funktioniert auf dieselbe Weise in der bash-Shell unter Linux 40+ Die am häufigsten verwendeten Linux-Terminalbefehle die häufigsten Befehle, die Sie durch Ihre gesamte Zeit unter Linux tragen werden. Weitere Informationen und in der neuen Bash-Shell in Windows 10 Eine Kurzanleitung zur Linux Bash-Shell in Windows 10 Eine Kurzanleitung zur Linux Bash-Shell in Windows 10 Sie können Linux jetzt unter Windows ausführen. Erfahren Sie mehr über Bash unter Windows, wie und warum Sie es installieren sollten, sowie versteckte Funktionen, von denen Sie wahrscheinlich nichts wussten. Weiterlesen .

Ausgabe nur in eine Datei umleiten

Es gibt zwei Operatoren zum Umleiten der Ausgabe eines Befehls in eine Datei anstelle des Bildschirms.

Das > Das Symbol erstellt eine neue Datei, falls nicht vorhanden, oder überschreibt die Datei, falls sie bereits vorhanden ist. Das >> erstellt auch eine neue Datei, falls diese nicht vorhanden ist, fügt jedoch den Text an das Ende der Datei an, wenn sie bereits vorhanden ist, anstatt die Datei zu überschreiben.

Hinweis an sich selbst: Wenn Sie eine Shell-Skriptausgabe in eine Datei umleiten, wird diese nicht auf der Konsole angezeigt :-) #StupidMe

- Xavier Mertens? (@xme) 5. August 2017

Um die Ausgabe eines Befehls in eine Datei umzuleiten, geben Sie den Befehl ein und geben Sie den Befehl an > oder der >> und geben Sie dann den Pfad zu einer Datei an, zu der die Ausgabe umgeleitet werden soll. Der Befehl ls listet beispielsweise die Dateien und Ordner im aktuellen Verzeichnis auf. Wenn Sie den folgenden Befehl ausführen, wird die Liste der Dateien und Ordner in das Verzeichnis geschrieben ls_output.txt Datei in der Terminalausgang Mappe.

Ersetzen / Pfad / zu / Datei mit dem vollständigen Pfad zu der Datei, die Sie verwenden möchten.

ls> / pfad / zu / datei

Dies ist der Befehl für unser Beispiel.

ls> /Users/lorikaufman/TerminalOutput/ls_output.txt

Um den Inhalt der Datei im Terminalfenster anzuzeigen, verwenden Sie die Katze Befehl wie im folgenden Befehl gezeigt. Wieder ersetzen / Pfad / zu / Datei mit dem vollständigen Pfad zu der Datei, die Sie anzeigen möchten.

Katze / Pfad / zu / Datei

Das > Der Operator ersetzt den Inhalt einer vorhandenen Datei jedes Mal, wenn Sie sie zum Umleiten der Ausgabe verwenden. Wenn Sie die Ausgabe mehrerer Befehle in einer einzigen Datei speichern möchten, verwenden Sie die >> stattdessen Operator. Dadurch wird die Ausgabe eines Befehls an das Ende der angegebenen Datei angehängt, sofern diese bereits vorhanden ist. Wenn die Datei nicht vorhanden ist, wird eine neue erstellt.

Zum Beispiel hängen wir Systeminformationen an das Ende der oben erstellten Datei an. Also in der folgenden Zeile, uname -a ist der Befehl, gefolgt von der >> Umleitungsoperator. Dann den vollständigen Pfad zu der Datei, an die die Ausgabe von angehängt werden soll dein Name Befehl.

Das -ein Parameter in der dein Name Befehl druckt alle verfügbaren Systeminformationen aus.

uname -a >> /Users/lorikaufman/TerminalOutput/ls_output.txt

Geben Sie den folgenden Befehl mit dem vollständigen Pfad zu Ihrer Datei ein, um die Datei mit den angefügten Informationen im Terminalfenster anzuzeigen.

cat /Users/lorikaufman/TerminalOutput/ls_output.txt

Wiederholen Sie diesen Vorgang so oft, bis Sie die Befehlsausgabe an das Ende der Datei anhängen.

Hier ist ein weiteres Beispiel für das Senden der Ausgabe von ls Befehl als Verzeichnisbaum mit rekursiv aufgelisteten Unterverzeichnissen (das R Parameter) und eine Datei pro Zeile (die 1 Parameter).

ls -1R> /Users/lorikaufman/TerminalOutput/dir_tree.txt 

Dann benutzen wir die Katze Befehl, wie zuvor erwähnt, um den Inhalt der Datei im Terminalfenster anzuzeigen.

cat /Users/lorikaufman/TerminalOutput/dir_tree.txt

Ausgabe auf Bildschirm drucken und in eine Datei umleiten

Das > und >> Operatoren zeigen die Ausgabe eines Befehls nicht auf dem Bildschirm an. Die Ausgabe wird nur an eine Datei gesendet.

Wenn Sie die Ausgabe an eine Datei senden und auf dem Bildschirm sehen möchten, verwenden Sie die Abschlag Befehl anstelle von > und >> Betreiber.

Nerd Alarm! Heute habe ich den Befehl 'tee' entdeckt, der sowohl zu einer Datei als auch zu einem Standard hinleitet. Unix erfreut sich weiterhin. pic.twitter.com/aClIT8AdJB

- Zeke Sikelianos (@zeke) 29. August 2017

Um die Abschlag Befehl Sie müssen die Ausgabe des Befehls, den Sie ausführen, per Pipe übergeben, z ls, zum Abschlag Befehl, mit dem Pipe-Operator, einen vertikalen Balken (|). Der folgende Befehl übernimmt beispielsweise die Ausgabe von ls Befehl und leitet es in die Abschlag Befehl. Das Abschlag Der Befehl sendet dann diese Ausgabe an den Bildschirm und in eine Datei, die Sie unter Verwendung des vollständigen Pfads zur Datei angeben.

ls | tee /Users/lorikaufman/TerminalOutput/ls_output.txt

Der obige Befehl ersetzt den gesamten Inhalt der Datei oder erstellt einen neuen, falls er nicht existiert, genau wie der > Operator. Wir haben folgendes verwendet Katze Befehl, um den Inhalt unserer Datei im Terminalfenster anzuzeigen.

cat /Users/lorikaufman/TerminalOutput/ls_output.txt

Um die Abschlag Befehl, um die Ausgabe auf dem Bildschirm zu drucken und an das Ende einer Datei anzuhängen, geben Sie den folgenden Befehl ein. Hier fügen wir am Ende der Datei vollständige Systeminformationen hinzu, indem Sie die uname -a Befehl, genau wie wir es mit der >> Operator, aber die Ausgabe auch auf dem Bildschirm.

uname -a | tee -a /Users/lorikaufman/TerminalOutput/ls_output.txt

Der folgende Befehl ist der Abschlag Version des Ausdrucks eines Verzeichnisbaums rekursiv in eine Datei und auf den Bildschirm, eine Datei in jeder Zeile, genau wie bei der > Operator.

ls -1R | tee /Users/lorikaufman/TerminalOutput/dir_tree.txt

Dann benutzen wir die Katze Befehl erneut, um den Inhalt der Datei anzuzeigen.

cat /Users/lorikaufman/TerminalOutput/dir_tree.txt

Aber warte, es gibt noch mehr

Es gibt viele weitere Möglichkeiten, die Ausgabe einschließlich Fehlern in eine Datei umzuleiten. Informationen zu den verschiedenen Operatoren und Befehlen, die zum Umleiten der Ausgabe verwendet werden, finden Sie im Kapitel "E / A-Umleitung" des Advanced Bash Scripting Guide. Weitere Informationen zur Verwendung der Befehlszeile A Kurzanleitung Erste Schritte mit der Linux-Befehlszeile Kurzanleitung Erste Schritte mit der Linux-Befehlszeile In Linux können Sie mit den Befehlen eine Menge erstaunlicher Dinge erledigen. Es ist nicht schwer zu lernen . Weiterlesen .

Ich habe heute eine gute Lektion gelernt. Leiten Sie die Protokollausgabe einer 10-Millionen-Iterationsschleife nicht in eine TXT-Datei um. Ergebnis: 5-GB-TXT-Datei.

- Lloyd (@ lcarswell1) 21. Mai 2017

Wofür verwenden Sie die Umleitung der Ausgabe? Welche Methode verwendest du? Haben Sie andere Möglichkeiten kennen gelernt, die Ausgabe umzuleiten? Teilen Sie uns Ihre Gedanken und Erfahrungen in den Kommentaren unten mit.

Erfahren Sie mehr über: Linux Bash Shell, Terminal.