Redirection Linux


Istilah redirection dalam Linux mengacu pada berbagai cara yang digunakan untuk membuat shell mengubah standard input dari suatu command berasal dan juga kemana standard output tersebut kemudian ditampilkan. Secara default shell mengasosiasikan standard input dengan keyboard dan standard output dengan layar.

<img src="linux_logo.png" alt="linux_logo">


Untuk melakukan redirect standard output melalui shell, menggunakan simbol >. Bentuk command line untuk redirect output ialah sebagai berikut:

command [argumen] > nama berkas

Dimana command merupakan program atau utility yang dijalankan, argumen bersifat optional, dan nama berkas ialah berkas biasa yang ditujukan untuk menampung output tersebut. Penggunaan redirection dapat mengakibatkan suatu berkas tertimpa (overwrite), bila nama berkas yang dijadikan tujuan penampung output sudah ada sebelumnya.

<img src="redirection_1.png" alt="redirection_1">


Sedangkan untuk menambahkan suatu data dari suatu berkas pada berkas lainnya dapat menggunakan redirection simbol >>. Penggunaannya hampir sama seperti sebelumnya hanya saja, data pada berkas yang dituju tidak hilang melainkan ditambah dari data command sebelumnya. Berikut contohnya:

<img src="redirection_2.png" alt="redirection_2">


Penggunaan redirection sebagai penyimpanan sementara, temporary. Memungkinkan sebuah utility menerima standard input dari data temporary dengan <. Berikut contohnya:

<img src="redirection_3.png" alt="redirection_3">


Fungsi redirection juga dapat digunakan untuk membuat suatu data menghilang tanpa jejak. dengan mengirimkan (redirect) data tersebut > /dev/null.

Ada pula filter, yang mana merupakan command untuk redirect dari input stream, diproses menjadi output stream. Dimana bisa terdapat lebih dari satu standard input dan standard output. Penggunaan filter biasa dengan menggunakan pipe. Semisal untuk mencari tahu siapa saja user yang log in, mengurutkannya, dan kemudian mencetak data tersebut, hal itu dapat dilakukan dengan menggunakan instruksi who | sort | lpr.
Dalam hal ini standard output dari sebuah utility menjadi standard input utility selanjutnya yang dihubungkan dengan pipe. Perlu diingat bahwa tidak semua utility dapat digunakan sebagai filter.
Menyalin sebuah standard input dan juga mengirimkannya sebagai standard output dengan menggunakan utility tee. Berikut contohnya:

<img src="redirection_4.png" alt="redirection_4">


Dalam contoh tersebut data dari buah disalin dalam berkas buah.txt, selain itu juga data dari buah hanya ditampilkan baris yang terdapat kata apel saja dengan menggunakan grep.