GNU/Linux >> Znalost Linux >  >> Linux

Jak přesměrovat Stderr a Stdout na různé soubory a také zobrazit v terminálu?

Chci vidět výstup příkazu v terminálu, jako by neexistovalo žádné přesměrování.
Také stderr musí být přesměrován na err.log a stdout musí být přesměrován na stdout.log.

Bylo by hezké mít také přesnou kopii toho, co je zobrazeno v terminálu, tj. chyby vytištěné, jak a kdy nastanou, v samostatném souboru:stdouterr.log.

Přijatá odpověď:

Použijte tee příkaz takto:

(cmd | tee stdout.log) 3>&1 1>&2 2>&3 | tee stderr.log

3>&1 1>&2 2>&3 je způsob, jakým zaměníte stderr a stdout, protože tee může přijímat pouze stdout.

Podívejte se na příkaz Unix tee pro pokročilejší přesměrování pomocí tee .


Linux
  1. Jak přesměrovat výstup do souboru a stdout

  2. Jak přesměrovat stderr a stdout na různé soubory ve stejném řádku ve skriptu?

  3. bash:přesměrování stderr do souboru a stdout + stderr na obrazovku

  1. Jak přesměrovat výstup do souboru a Stdout v Linuxu

  2. Nakonfigurovat Shell pro tisk Stderr a Stdout v různých barvách?

  3. Zachycení STDERR a STDOUT do souboru pomocí tee

  1. Proč (a jak) používání Cat na binárních souborech zkazilo terminál?

  2. Jak může proces zachytit stdout a stderr jiného procesu v Linuxu?

  3. Je možné, aby výstup stdout a stderr měl různé barvy v XTerm nebo Konsole?