GNU/Linux >> Belajar Linux >  >> Linux

Pelajari Dasar-dasar Cara Kerja Pengalihan I/O (Input/Output) Linux

Salah satu topik paling penting dan menarik di bawah administrasi Linux adalah pengalihan I/O. Fitur baris perintah ini memungkinkan Anda untuk mengarahkan ulang input dan/atau output perintah dari dan/atau ke file, atau menggabungkan beberapa perintah bersama-sama menggunakan pipa untuk membentuk apa yang dikenal sebagai “pipa perintah ”.

Semua perintah yang kita jalankan pada dasarnya menghasilkan dua jenis output:

  1. hasil perintah – data yang dirancang untuk dihasilkan oleh program, dan
  2. status program dan pesan kesalahan yang memberi tahu pengguna tentang detail eksekusi program.

Di Linux dan sistem mirip Unix lainnya, ada tiga file default bernama di bawah ini yang juga diidentifikasi oleh shell menggunakan nomor deskriptor file:

  1. stdin atau 0 – 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 dari suatu perintah serta ke mana output dan pesan kesalahannya dikirim. Dan ini dimungkinkan oleh “<” dan “>” operator pengalihan.

Cara Mengarahkan Output Standar ke File di Linux

Anda dapat mengarahkan output standar seperti pada contoh di bawah ini, di sini, kami ingin menyimpan output dari perintah teratas untuk pemeriksaan nanti:

$ top -bn 5 >top.log

Dimana benderanya:

  1. -b – mengaktifkan atas untuk dijalankan dalam mode batch, sehingga Anda dapat mengarahkan outputnya ke file atau perintah lain.
  2. -n – menentukan jumlah iterasi sebelum perintah berakhir.

Anda dapat melihat konten top.log file menggunakan perintah cat sebagai berikut:

$ cat top.log

Untuk menambahkan output dari sebuah perintah, gunakan “>>” operator.

Misalnya untuk menambahkan output dari perintah teratas di atas di top.log file terutama dalam skrip (atau pada baris perintah), masukkan baris di bawah ini:

$ top -bn 5 >>top.log

Catatan :Menggunakan nomor deskriptor file, perintah redirect output di atas sama dengan:

$ top -bn 5 1>top.log

Cara Mengarahkan Kesalahan Standar ke File di Linux

Untuk mengarahkan kesalahan standar suatu perintah, Anda perlu secara eksplisit menentukan nomor deskriptor file, 2 agar shell memahami apa yang Anda coba lakukan.

Misalnya perintah ls di bawah ini akan menghasilkan kesalahan saat dijalankan oleh pengguna sistem normal tanpa hak akses root:

$ ls -l /root/

Anda dapat mengarahkan kesalahan standar ke file seperti di bawah ini:

$ ls -l /root/ 2>ls-error.log
$ cat ls-error.log 

Untuk menambahkan kesalahan standar, gunakan perintah di bawah ini:

$ ls -l /root/ 2>>ls-error.log

Cara Mengarahkan Output Standar/ Kesalahan Ke Satu File

Dimungkinkan juga untuk menangkap semua keluaran dari suatu perintah (baik keluaran standar dan kesalahan standar) ke dalam satu file. Ini dapat dilakukan dengan dua cara yang memungkinkan dengan menentukan nomor deskriptor file:

1. Yang pertama adalah metode yang relatif lama yang bekerja sebagai berikut:

$ ls -l /root/ >ls-error.log 2>&1

Perintah di atas berarti shell terlebih dahulu akan mengirimkan output dari perintah ls ke file ls-error.log (menggunakan >ls-error.log ), lalu menulis semua pesan kesalahan ke deskriptor file 2 (output standar) yang telah dialihkan ke file ls-error.log (menggunakan 2>&1 ). Menyiratkan bahwa kesalahan standar juga dikirim ke file yang sama dengan keluaran standar.

2. Cara kedua dan langsung adalah:

$ ls -l /root/ &>ls-error.log

Anda juga dapat menambahkan keluaran standar dan kesalahan standar ke satu file seperti:

$ ls -l /root/ &>>ls-error.log

Cara Mengarahkan Input Standar ke File

Sebagian besar jika tidak semua perintah mendapatkan inputnya dari input standar, dan secara default input standar terpasang ke keyboard.

Untuk mengarahkan ulang input standar dari file selain keyboard, gunakan “<” operator seperti di bawah ini:

$ cat <domains.list 

Cara Mengarahkan Input/Output Standar ke File

Anda dapat melakukan input standar, pengalihan output standar secara bersamaan menggunakan perintah sortir seperti di bawah ini:

$ sort <domains.list >sort.output

Cara Menggunakan Pengalihan I/O Menggunakan Pipa

Untuk mengarahkan output dari satu perintah sebagai input dari yang lain, Anda dapat menggunakan pipa, ini adalah cara yang ampuh untuk membangun baris perintah yang berguna untuk operasi yang kompleks.

Misalnya, perintah di bawah ini akan mencantumkan lima file teratas yang baru saja dimodifikasi.

$ ls -lt | head -n 5 

Di sini, opsinya:

  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 Pipeline

Di sini, kami akan meninjau secara singkat dua perintah penting untuk membangun saluran pipa perintah dan mereka adalah:

xargs yang digunakan untuk membangun dan mengeksekusi baris perintah dari input standar. Di bawah ini adalah contoh pipeline 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

Dan pilihannya:

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

Untuk opsi dan info penggunaan lainnya, bacalah xargs halaman manual:

$ man xargs 

kaus perintah membaca dari input standar dan menulis ke output dan file standar. Kami dapat menunjukkan bagaimana tee bekerja sebagai berikut:

$ echo "Testing how tee command works" | tee file1 

Filter file atau teks biasanya digunakan dengan pipa untuk operasi file Linux yang efektif, untuk memproses informasi dengan cara yang kuat seperti restrukturisasi output perintah (ini bisa menjadi vital untuk pembuatan 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 menggunakan filter dan pipa.

Pada artikel ini, kami menjelaskan dasar-dasar pengalihan I/O di Linux. Ingatlah untuk menyampaikan pendapat Anda melalui bagian masukan di bawah.


Linux
  1. Cara Menyimpan Output Perintah ke File di Linux

  2. Bekerja dengan Input Output dan Error Redirection di Linux

  3. Cara Menggunakan Perintah Tar di Linux

  1. Cara menangkap sesi terminal dan output dengan perintah skrip Linux

  2. Bagaimana cara menambahkan output ke file?

  3. Bagaimana cara menangkap output dari perintah teratas dalam file di linux?

  1. Pengalihan Input/Output di Linux/Unix

  2. Bagaimana cara mengarahkan output dari perintah waktu ke file di Linux?

  3. Bagaimana saya bisa menyembunyikan output dari aplikasi shell di Linux?