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 Berangka | Nama |
0 | stdin |
1 | stdout |
2 | stderr |
Mari terangkan pengalihan sedikit lebih terperinci:
Cara mengarahkan semula output Standard dan ralat Standard dalam Bash:
Untuk mengarahkan output standard perintah, 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" di "stdout.fail txt ”.
Untuk membaca “stdout.fail txt ”, gunakan:
$ kucing stdout.txt
Kita boleh mengarahkan kesalahan standard ke fail juga dengan menggunakan perintah:
$ kucing myfile.txt 2> stderr.txt
Untuk melihat “stderr.fail txt ”, gunakan:
$ kucing stderr.txt
Pastikan penggunaan "2" akan lebih besar daripada tanda ">". Oleh kerana tidak ada "myfile.txt "dalam direktori, perintah" cat "akan memberikan kesalahan yang akan ditambahkan dalam" stderr.fail txt ”.
Output standard ini dapat dialihkan dengan satu perintah juga, gunakan:
$ ls 1> stdout.txt 2> stderr.txt
Keluaran perintah "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 ”:
$ kucing myfile.txt 1> stdout.txt 2> stderr.txt
Gunakan arahan yang disebutkan di bawah untuk membaca “stderr.txt."
$ kucing stderr.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 diarahkan 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.