Cara Pengalihan Linux I / O (Input / Output)

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

Semua perintah yang kami jalankan secara fundamental menghasilkan dua jenis output:

  1. hasil perintah – data yang dirancang untuk diproduksi oleh program, dan
  2. status program dan pesan kesalahan yang menginformasikan pengguna tentang detail pelaksanaan 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 mengirim 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 kesalahan dikirim.

Menggunakan Output Standar Ke File 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
Di mana penjelasannya:

  • -b- memungkinkan top untuk dijalankan dalam mode batch, sehingga Anda dapat mengarahkan outputnya ke file atau perintah lain.
  • -n – Menentukan jumlah iterasi sebelum perintah berakhir.
    Anda dapat melihat konten top.logfile menggunakan perintah cat sebagai berikut:

$ cat top.log
Untuk menambahkan output dari suatu perintah, gunakan operator “>>”.

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

$ top -bn 5 >> top.log
Catatan : Menggunakan nomor deskriptor file, perintah pengalihan output di atas sama dengan:

$ top -bn 5 1> top.log

Mengarahkan Kesalahan Standar Ke File Linux

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

Sebagai contoh, perintah ls di bawah ini akan menghasilkan kesalahan ketika 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

Mengarahkan Output Standar/Kesalahan Ke Satu File

Dimungkinkan juga untuk menangkap semua output dari suatu 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 pertama-tama akan mengirim output dari perintah ls ke file ls-error.log (menggunakan >ls-error.log), dan kemudian menulis semua pesan kesalahan ke file descriptor 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 output standar.

2. Metode kedua dan langsung adalah:

$ ls -l / root / &> ls-error.log
Anda juga dapat menambahkan output standar dan kesalahan standar ke satu file seperti:

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

Mengarahkan Input Standar ke File

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

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

$ cat <domains.list

Jika ada tambahan bisa di share di kolom komentar.