Pelajari dasar -dasar cara pengalihan Linux I/O (input/output) berfungsi
- 5039
- 652
- Ian Parker
Salah satu topik paling penting dan menarik di bawah administrasi Linux adalah pengalihan I/O. Fitur dari baris perintah ini memungkinkan Anda untuk mengarahkan kembali input dan/atau output perintah dari dan/atau ke file, atau bergabung dengan beberapa perintah bersama -sama menggunakan pipa untuk membentuk apa yang dikenal sebagai "Pipa Perintah".
Semua perintah yang kami jalankan secara fundamental menghasilkan dua jenis output:
- Hasil Perintah - Data Program ini dirancang untuk menghasilkan, dan
- Pesan Status dan Kesalahan Program yang memberi tahu pengguna rincian eksekusi program.
Di Linux dan sistem seperti Unix lainnya, ada tiga file default yang disebutkan di bawah ini yang juga diidentifikasi oleh Shell menggunakan nomor deskriptor file:
- stdin atau 0 - Ini terhubung ke keyboard, sebagian besar program membaca input dari file ini.
- stdout atau 1 - itu dilampirkan ke layar, dan semua program mengirimkan hasilnya ke file ini dan
- stderr atau 2 - Program mengirim pesan status/kesalahan ke file ini yang juga dilampirkan ke layar.
Oleh karena itu, pengalihan I/O memungkinkan Anda untuk mengubah sumber input perintah serta di mana output dan pesan kesalahannya dikirim ke. Dan ini dimungkinkan oleh “<”
Dan ">"
operator pengalihan.
Cara mengarahkan ulang output standar ke file di linux
Anda dapat mengarahkan kembali output standar seperti pada contoh di bawah ini, di sini, kami ingin menyimpan output dari perintah atas untuk diperiksa nanti:
$ top -bn 5> top.catatan
Dimana bendera:
-B
- memungkinkan atas Untuk menjalankan dalam mode batch, sehingga Anda dapat mengarahkan outputnya ke file atau perintah lain.-N
- Menentukan jumlah iterasi sebelum perintah berakhir.
Anda dapat melihat isi atas.catatan
file menggunakan perintah kucing sebagai berikut:
$ CAT TOP.catatan
Untuk menambahkan output perintah, gunakan ">>"
operator.
Misalnya untuk menambahkan output perintah atas di atas di atas.catatan File terutama dalam skrip (atau pada baris perintah), masukkan baris di bawah ini:
$ top -bn 5 >> top.catatan
Catatan: Menggunakan nomor deskriptor file, perintah pengalihan output di atas sama dengan:
$ top -bn 5 1> top.catatan
Cara mengarahkan kembali kesalahan standar untuk mengajukan di linux
Untuk mengarahkan kembali kesalahan standar suatu perintah, Anda perlu secara eksplisit menentukan nomor deskriptor file, 2
agar cangkang memahami apa yang Anda coba lakukan.
Misalnya perintah LS di bawah ini akan menghasilkan kesalahan saat dieksekusi oleh pengguna sistem normal tanpa hak istimewa root:
$ ls -l /root /
Anda dapat mengarahkan kembali kesalahan standar ke file seperti di bawah ini:
$ ls -l / root / 2> ls -error.log $ cat ls-error.catatanMengarahkan kembali kesalahan standar untuk mengajukan
Untuk menambahkan kesalahan standar, gunakan perintah di bawah ini:
$ ls -l / root / 2 >> ls -error.catatan
Cara mengarahkan ulang output/ kesalahan standar ke satu file
Dimungkinkan juga untuk menangkap semua output perintah (baik output standar dan kesalahan standar) ke dalam satu file. Ini dapat dilakukan dengan dua cara yang mungkin dengan menentukan nomor deskriptor file:
1. Yang pertama adalah metode yang relatif lama yang berfungsi sebagai berikut:
$ ls -l / root /> ls -error.LOG 2> & 1
Perintah di atas berarti shell terlebih dahulu akan mengirim output perintah LS ke file ls-error.catatan (menggunakan > LS-error.catatan
), dan kemudian menulis semua pesan kesalahan ke deskriptor file 2 (output standar) yang telah dialihkan ke file ls-error.catatan (menggunakan 2> & 1
). Menyiratkan bahwa kesalahan standar juga dikirim ke file yang sama dengan output standar.
2. Metode kedua dan langsung adalah:
$ ls -l / root / &> ls -error.catatan
Anda juga dapat menambahkan output standar dan kesalahan standar untuk satu file seperti:
$ ls -l / root / & >> ls -error.catatan
Cara mengarahkan kembali input standar ke file
Sebagian besar jika tidak semua perintah mendapatkan inputnya dari input standar, dan secara standar input standar dilampirkan ke keyboard.
Untuk mengarahkan kembali input standar dari file selain keyboard, gunakan “<”
operator seperti di bawah ini:
$ kucingRedirect Input Standar ke File Cara mengarahkan kembali input/output standar ke file
Anda dapat melakukan input standar, pengalihan output standar secara bersamaan menggunakan perintah sortir seperti di bawah ini:
Urutan $.keluaranCara menggunakan pengalihan I/O menggunakan pipa
Untuk mengarahkan kembali output dari satu perintah sebagai input yang lain, Anda dapat menggunakan pipa, ini adalah cara yang kuat untuk membangun baris perintah yang berguna untuk operasi yang kompleks.
Misalnya, perintah di bawah ini akan mencantumkan lima file teratas yang baru dimodifikasi.
$ ls -lt | head -n 5Di sini, opsi:
-l
- Mengaktifkan format daftar panjang-T
- urutkan berdasarkan waktu modifikasi dengan file terbaru ditampilkan terlebih dahulu-N
- Menentukan jumlah baris header yang akan ditampilkanPerintah penting untuk membangun jaringan pipa
Di sini, kami akan meninjau secara singkat dua perintah penting untuk membangun pipa perintah dan mereka adalah:
xargs yang digunakan untuk membangun dan menjalankan baris perintah dari input standar. Di bawah ini adalah contoh pipa yang menggunakan xargs, Perintah ini digunakan untuk menyalin file ke beberapa direktori di Linux:
$ ECHO/HOME/AARONKILIK/TEST//HOME/AARONKILIK/TMP | xargs -n 1 cp -v/home/aaronkilik/bin/sys_info.SHSalin file ke beberapa direktoriDan opsinya:
-n 1
- menginstruksikan Xargs untuk menggunakan paling banyak satu argumen per baris perintah dan mengirim ke perintah CPcp
- menyalin file-v
- menampilkan kemajuan perintah salinan.Untuk opsi dan info penggunaan lebih lanjut, baca melalui xargs Halaman pria:
$ man xargsA tee Perintah dibaca dari input standar dan menulis ke output dan file standar. Kita bisa menunjukkan caranya tee bekerja sebagai berikut:
$ echo "menguji cara kerja tee bekerja" | file tee1Contoh Perintah TeeFile file atau teks umumnya digunakan dengan pipa untuk operasi file Linux yang efektif, untuk memproses informasi dengan cara yang kuat seperti merestrukturisasi output perintah (ini dapat sangat penting untuk menghasilkan laporan Linux yang berguna), memodifikasi teks dalam file ditambah beberapa administrasi sistem Linux lainnya tugas.
Untuk mempelajari lebih lanjut tentang filter dan pipa Linux, baca artikel ini Temukan 10 alamat IP teratas mengakses server Apache, menunjukkan contoh yang berguna untuk menggunakan filter dan pipa.
Dalam artikel ini, kami menjelaskan dasar -dasar pengalihan I/O di Linux. Ingatlah untuk membagikan pemikiran Anda melalui bagian umpan balik di bawah ini.
- « Replikasi Setup Sysvol di dua SAMBA4 AD DC dengan RSYNC - Bagian 6
- Perbedaan antara Su dan Sudo dan Cara Mengkonfigurasi Sudo di Linux »