Pelajari dasar -dasar cara pengalihan Linux I/O (input/output) berfungsi

Pelajari dasar -dasar cara pengalihan Linux I/O (input/output) berfungsi

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:

  1. Hasil Perintah - Data Program ini dirancang untuk menghasilkan, dan
  2. 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:

  1. stdin atau 0 - Ini terhubung ke keyboard, sebagian besar program membaca input dari file ini.
  2. stdout atau 1 - itu dilampirkan ke layar, dan semua program mengirimkan hasilnya ke file ini dan
  3. 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:

  1. -B - memungkinkan atas Untuk menjalankan dalam mode batch, sehingga Anda dapat mengarahkan outputnya ke file atau perintah lain.
  2. -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.catatan 
Mengarahkan 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:

$ kucing   Redirect 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 $.keluaran 

Cara 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 5 

Di sini, opsi:

  1. -l - Mengaktifkan format daftar panjang
  2. -T - urutkan berdasarkan waktu modifikasi dengan file terbaru ditampilkan terlebih dahulu
  3. -N - Menentukan jumlah baris header yang akan ditampilkan

Perintah 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.SH 
Salin file ke beberapa direktori

Dan opsinya:

  1. -n 1 - menginstruksikan Xargs untuk menggunakan paling banyak satu argumen per baris perintah dan mengirim ke perintah CP
  2. cp - menyalin file
  3. -v - menampilkan kemajuan perintah salinan.

Untuk opsi dan info penggunaan lebih lanjut, baca melalui xargs Halaman pria:

$ man xargs 

A 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 tee1 
Contoh Perintah Tee

File 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.