GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana Cara Mengarahkan Stderr Dan Stdout Ke File Yang Berbeda Dan Juga Ditampilkan Di Terminal?

Saya ingin melihat output dari perintah di terminal seolah-olah tidak ada pengalihan.
Juga, stderr perlu diarahkan ke err.log dan stdout perlu diarahkan ke stdout.log.

Akan lebih baik untuk juga memiliki salinan persis dari apa yang ditampilkan di terminal, yaitu kesalahan yang dicetak saat dan ketika itu terjadi, dalam file terpisah:stdouterr.log.

Jawaban yang Diterima:

Gunakan tee perintah sebagai berikut:

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

3>&1 1>&2 2>&3 adalah bagaimana Anda menukar stderr dan stdout, karena tee hanya dapat menerima stdout.

Lihat perintah Unix tee untuk pengalihan lebih lanjut menggunakan tee .


Linux
  1. Cara Mengarahkan Output ke File dan Stdout di Linux

  2. Mengapa (dan Bagaimana) Apakah Menggunakan Cat Pada File Biner Merusak Terminal?

  3. Bagaimana proses mencegat stdout dan stderr dari proses lain di Linux?

  1. Apakah mungkin membuat keluaran stdout dan stderr menjadi warna berbeda di XTerm atau Konsole?

  2. cara masuk ke mysql dan menanyakan database dari terminal linux

  3. Shell:redirect stdout ke /dev/null dan stderr ke stdout

  1. Output perintah dialihkan ke file dan terminal

  2. bash:redirect stderr ke file dan stdout + stderr ke layar

  3. Menangkap STDERR dan STDOUT ke file menggunakan tee