GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Möglichkeit, die Ausgabe eines Programms umzuleiten und trotzdem nach Stdout zu gehen?

Okay. Wenn ich die Ausgabe eines Programms in eine Datei umleiten wollte, würde ich so etwas tun

prog > file

Wenn ich sowohl stdout als auch stderr zu dieser Datei umleiten wollte, dann würde ich das tun

prog > file 2>&1

Das ist alles schön und gut, wenn Sie möchten, dass die Ausgabe in die Datei geht. Aber was ist, wenn Sie möchten, dass die Ausgabe in die Datei geht und trotzdem nach stdout/stderr geht? Die Ausgabe wird also in der Datei gespeichert, aber Sie können sie immer noch auf der Konsole sehen, während das Programm ausgeführt wird. Gibt es eine Möglichkeit, das zu tun? Und wenn ja, wie?

Akzeptierte Antwort:

tee existiert zu diesem Zweck; es nimmt ein filename-Argument und schreibt die Daten, die es von stdin liest, sowohl in stdout als auch in die Datei:

$ prog 2>&1 | tee file

Linux
  1. Wie leite ich die Ausgabe eines Programms in eine Zip-Datei um?

  2. Ausgabe nach Stdout und gleichzeitig Grep in eine Datei?

  3. Ausgabe umleiten und leiten?

  4. On-the-Fly-Ausgabeumleitung, Anzeige der Dateiumleitungsausgabe, während das Programm noch läuft

  5. Leiten Sie die gesamte Ausgabe in eine Datei in Bash um

So leiten Sie stderr in Bash auf stdout um

So leiten Sie die Shell-Befehlsausgabe um

So leiten Sie die Ausgabe in eine Datei und stdout um

Was ist der Unterschied beim Umleiten einer Ausgabe mit >, &>, >&und 2&>?

Wie leite ich stderr und stdout in verschiedene Dateien in derselben Zeile im Skript um?

Wie kann ich tcpdump in eine Datei schreiben und die entsprechenden Daten standardmäßig ausgeben lassen?