Output Redirection - Standard Input, Standard Output, Standard Error, /dev/null
- Categories:
- tutorial
Di dunia Linux atau macOS, /dev/null adalah seperti lubang hitam bagi data. Apapun hasil yang di-pipe ke situ akan hilang tanpa bekas.
echo "hello world"
# => hello world
echo "hello world" > /dev/null
# kosong, tidak menampilkan apapunMenggunakan > /dev/null 2>&1 akan mengarahkan semua output (baik stdout maupun stderr) ke /dev/null, sehingga tidak dicetak ke terminal.
Jadi standar input, output, dan error pada shell:
- stdin => fd 0 (default)
- stdout => fd 1 (default)
- stderr => fd 2 (default)
Saat menjalankan perintah > /dev/null, maka:
- stdin => fd 0 (tetap)
- stdout => dialihkan ke
/dev/null - stderr => fd 2 (tetap)
Kemudian 2>&1 /dev/null akan mengarahkan:
- stdin => fd 0 (tetap)
- stdout => tetap
/dev/null - stderr => dialihkan ke
stdout
File descriptor (fd) adalah handle unik yang mengarah pada suatu file atau resource lain di sistem operasi. Setiap proses memiliki akses ke fd 0 (stdin), fd 1 (stdout), dan fd 2 (stderr) sebagai cara untuk membaca dan menulis ke suatu resource.
Referensi: redirecting to /dev/null