Setiap proses Di Linux menghasilkan tiga aliran data, stdin, stdout, dan stderr:
- stdin : Mengambil input dari pengguna melalui papan kekunci
- stdout : Menampilkan output di skrin
- stderr : Menunjukkan maklumat ralat di skrin
Setiap aliran data mempunyai id berangka:
Id Numerik | Nama |
0 | stdin |
1 | stdout |
2 | stderr |
Mari jelaskan pengalihan sedikit lebih terperinci:
Cara mengarahkan semula output Standard dan ralat Standard dalam Bash:
Untuk mengalihkan output standard arahan, kami akan menggunakan 1 dengan operator pengalihan yang lebih besar daripada tanda>:
$ls 1>stdout.txtPerintah di atas akan membuat fail dan meletakkan output standard perintah ls dalam fail stdout.txt.
Untuk membaca fail stdout.txt, gunakan:
$kucingstdout.txt
Kita boleh mengarahkan kesalahan standard ke fail juga dengan menggunakan perintah:
$kucingmyfile.txt2>stderr.txt
Untuk melihat fail stderr.txt, gunakan:
$kucingstderr.txt
Pastikan penggunaan 2 akan lebih besar daripada tanda>. Oleh kerana tidak ada fail myfile.txt dalam direktori, perintah kucing akan memberikan kesalahan yang akan ditambahkan dalam fail stderr.txt.
Output standard ini dapat dialihkan dengan satu perintah juga, gunakan:
$ls 1>stdout.txt2>stderr.txt
Keluaran arahan ls akan ditulis dalam stdout.txt fail, tetapi stderr.txt akan tetap kosong kerana tidak akan ada kesalahan.
Sekarang mari kita lakukan untuk stderr.txt:
$kucingmyfile.txt1>stdout.txt2>stderr.txt
Gunakan arahan yang disebutkan di bawah untuk membaca stderr.txt.
$kucingstderr.txt
Dan tentu saja, stdout.txt akan kosong.
Kesimpulannya :
Perintah Linux semasa dijalankan memberikan output standard yang dapat menjadi output kejayaan atau output kesalahan. Secara amnya, output ini tidak dapat dialihkan menggunakan operator pengalihan; kita perlu menggunakan id berangka tertentu dengan tanda>. Dalam panduan ini, kami belajar bagaimana menggunakan kunci angka ini untuk mengalihkan output standard ke fail dengan contoh.