GNU/Linux >> Linux Esercitazione >  >> Linux

Come reindirizzare Stderr e Stdout su file diversi e visualizzarli anche nel terminale?

Voglio vedere l'output di un comando nel terminale come se non ci fosse alcun reindirizzamento.
Inoltre, stderr deve essere reindirizzato a err.log e stdout deve essere reindirizzato a stdout.log.

Sarebbe bello avere anche la copia esatta di ciò che viene mostrato nel terminale, ovvero gli errori stampati come e quando si verificano, in un file separato:stdouterr.log.

Risposta accettata:

Usa il tee comando come segue:

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

3>&1 1>&2 2>&3 è come scambiare stderr e stdout, perché tee può accettare solo stdout.

Dai un'occhiata al comando Unix tee per reindirizzamenti più avanzati usando tee .


Linux
  1. Perché (e come) l'uso di Cat su file binari ha rovinato il terminale?

  2. Come può un processo intercettare stdout e stderr di un altro processo su Linux?

  3. Come reindirizzare l'output su un file e stdout

  4. Come reindirizzare stderr e stdout a file diversi nella stessa riga nello script?

  5. bash:reindirizza stderr al file e stdout + stderr allo schermo

Come reindirizzare stderr a stdout in Bash

Tutto sui file tar e su come tar, untar file in Linux usando il terminale

Come visualizzare e monitorare i file di registro in CentOS 8

Come visualizzare i file gif in Ubuntu Terminal

Come rimuovere file e directory su terminale Linux

Come copiare file e directory nel terminale Linux