Apa sih Maksud dari 1>/dev/null 2>&1 di GNU/Linux?


Banyak hal-hal baru yang bikin pusing jika kamu baru di dunia GNU/Linux. Salah satunya adanya simbol-simbol dalam perintah tertentu.

Jika kamu pernah bertemu skrip seperti ini:

grep -i 'abc' content 1>/dev/null 2&>1
Code language: JavaScript (javascript)

Kamu mungkin akan bingung kenapa ada angka 1 dan 2 ? Lalu kenapa ada simbol > dan &? Dan apa itu /dev/null mengapa harus ditulis?

Kalau kamu ingin tau lebih, coba kamu buka terminal-mu dan jalankan perintah ini:

grep -i 'abc' content
Code language: JavaScript (javascript)

Apa yang akan terjadi? Ya terminal akan memberikan output:

grep: content: No such file or directory
Code language: HTTP (http)

Nah perintah di atas kita gak mau munculin di layar, maka tambahkan 2 >/dev/null jadi seperti ini:

grep -i 'abc' content 2 >/dev/null
Code language: JavaScript (javascript)

Nah pesan galat di atas gak muncul lagi kan? Kenapa bisa begitu? Berikut ini penjelasannya.

Penjelasan

Jadi setiap proses yang dijalankan di Unix dalam hal ini GNU/Linux wajib mendukung paling tidak tiga common descriptors yang didefinisikan oleh aplikasi POSIX.

Adapun tiga common descriptors itu adalah:

NilaiNamaDisingkat
0Standard InputStdin
1Standard OutputStdout
2Standard ErrorStderr

Kemudian untuk simbol-simbol di atas:

SimbolMakna
>Meruskan perintah untuk dijadikan berkas
/dev/nullAdalah berkas jika dikirim ke sini akan selalu kosong atau semua pesan akan diabaikan
&Adalah simbol untuk file descriptor. Tanpa menulis ini maka perintah setelah > akan dianggap berkas

Nah jadi kalau ada perintah seperti ini.

grep -i 'abc' content 1>/dev/null 2&>1
Code language: JavaScript (javascript)

Artinya kamu menjalankan aplikasi grep jika ia mengeluarkan pesan (stdout) maka ia harus ditulis ke /dev/null jika ada pesan galat (stderr) maka akan dikembalikan lagi ke stdin. Jadi pesan galatnya pun terabaikan.

Bantuan

Bingung dengan istilah dan simbol-simbol dari tulisan ini?

Kamu bisa mempelajari bagaimana cara membacanya di sini.

Artikel Terkait:

Leave a Reply

Your email address will not be published. Required fields are marked *