Redirection pada Linux

Hai semuanya, apa kabar? Kali ini saya mau nulis yang berkaitan dengan Linux lagi nih, yaitu redirection. Fungsi ini dapat kita gunakan untuk mengarahkan output atau hasil dari suatu perintah ke file lain.

Sebenarnya ada beberapa operator yang dapat digunakan pada fungsi ini. Namun pada tulisan kali ini kita coba belajar dua dulu yaa. Dua operator tersebut adalah > (redirect) dan >> (append)

  1. > Redirect
    Operator ini memungkinkan kita untuk mengarahkan hasil atau output dari suatu perintah ke dalam suatu file. Misalnya, pada direktori yang sedang digunakan (“redirection”) berisi lima file mulai dari 1.txt sampai dengan 5.txt. Apabila kita jalankan perintah ls -l untuk melihat daftar file yang ada pada direktori tersebut beserta beberapa detail lain, tampilannya adalah seperti berikut:
    $ ls -l
    total 0
    -rw-rw-r-- 1 phantom-zorin2 phantom-zorin2 0 Sep 3 11:26 1.txt
    -rw-rw-r-- 1 phantom-zorin2 phantom-zorin2 0 Sep 3 11:26 2.txt
    -rw-rw-r-- 1 phantom-zorin2 phantom-zorin2 0 Sep 3 11:26 3.txt
    -rw-rw-r-- 1 phantom-zorin2 phantom-zorin2 0 Sep 3 11:26 4.txt
    -rw-rw-r-- 1 phantom-zorin2 phantom-zorin2 0 Sep 3 11:26 5.txt

    Nah, apabila kita ingin meneruskan hasil dari perintah ls -l tersebut ke dalam file hasil.txt, maka kita bisa menggunakan perintah ls -l > hasil.txt. Setelah perintah tersebut dijalankan, memang tidak menampilkan output. Tapi kita bisa cek isi file hasil.txt dengan menggunakan perintah cat hasil.txt.
    $ cat hasil.txt
    total 0
    -rw-rw-r-- 1 phantom-zorin2 phantom-zorin2 0 Sep 3 11:26 1.txt
    -rw-rw-r-- 1 phantom-zorin2 phantom-zorin2 0 Sep 3 11:26 2.txt
    -rw-rw-r-- 1 phantom-zorin2 phantom-zorin2 0 Sep 3 11:26 3.txt
    -rw-rw-r-- 1 phantom-zorin2 phantom-zorin2 0 Sep 3 11:26 4.txt
    -rw-rw-r-- 1 phantom-zorin2 phantom-zorin2 0 Sep 3 11:26 5.txt
    -rw-rw-r-- 1 phantom-zorin2 phantom-zorin2 0 Sep 3 11:29 hasil.txt

    Wah ternyata file hasil.txt juga turut ikut juga. Nah, sekarang kita coba lagi untuk gunakan perintah echo untuk menuliskan sesuatu dan hasilnya diteruskan ke file hasil.txt. Misalnya kita coba gunakan kata ‘Hello World’.
    $ echo 'Hello World' > hasil.txt
    $

    Lalu, kita coba cek isi file hasil.txt, apakah berubah dari sebelumnya? Gunakan perintah cat hasil.txt.
    $ cat hasil.txt
    Hello World

    Wah, ternyata isi file sebelumnya (yang berisi tentang detail file 1.txt dan berbagai file lainnya) hilang. Ya, operator > akan menimpa isi file yang sudah ada sebelumnya. Apabila kita tidak ingin menimpa isi file yang sudah ada, maka kita lanjut ke operator selanjutnya.
  2. >> Append
    Sesuai namanya, operator append akan menambahkan nilai baru (dari output yang diteruskan) pada baris baru dari file. Contohnya kita akan teruskan output dari perintah ls -l ke dalam file hasil.txt dan kita lihat hasilnya. Kita gunakan perintah ls -l >> hasil.txt
    $ ls -l >> hasil.txt
    $ cat hasil.txt
    Hello World
    total 4
    -rw-rw-r-- 1 phantom-zorin2 phantom-zorin2 0 Sep 3 11:26 1.txt
    -rw-rw-r-- 1 phantom-zorin2 phantom-zorin2 0 Sep 3 11:26 2.txt
    -rw-rw-r-- 1 phantom-zorin2 phantom-zorin2 0 Sep 3 11:26 3.txt
    -rw-rw-r-- 1 phantom-zorin2 phantom-zorin2 0 Sep 3 11:26 4.txt
    -rw-rw-r-- 1 phantom-zorin2 phantom-zorin2 0 Sep 3 11:26 5.txt
    -rw-rw-r-- 1 phantom-zorin2 phantom-zorin2 12 Sep 3 11:36 hasil.txt

    Kita bisa lihat bahwa entri/tulisan “Hello World” masih ada pada file tersebut dan output dari perintah ls -l diletakkan pada baris baru. Jadi dengan menggunakan operator >> tidak menimpa isi file yang sudah ada sebelumnya.

Nah, itulah fungsi dari beberapa operator yang ada di Linux. Fungsi ini terkadang juga digunakan dalam pembuatan log. Diharapkan tulisan ini dapat menambah pemahaman kita terkait fungsi-fungsi yang ada pada sistem berbasis Linux. Sampai jumpa di tulisan lainnya. Bye.

Leave a Comment