- Home
- »
- Scripting & Automasi
- »
- Bash Basic
- »
- Bash #44 File Descriptor Basics
Share:
Table of Contents

🖥️ Pengantar
Dalam Bash scripting, file descriptor adalah angka unik yang mewakili input, output, dan error stream. Pemahaman tentang file descriptor sangat penting untuk menangani redirection, error handling, dan logging dalam scripting.
Artikel ini akan membahas:
Apa Itu File Descriptor? – Pengertian dan fungsi file descriptor.
File Descriptor Standar dalam Bash – stdin (0), stdout (1), stderr (2).
Menggunakan File Descriptor dalam Scripting – Contoh penggunaan.
Praktik Terbaik dalam Pengelolaan File Descriptor – Optimasi scripting.
Mari kita mulai! 🚀
📌 1. Apa Itu File Descriptor?
File descriptor adalah angka unik yang digunakan oleh sistem operasi untuk mengidentifikasi file yang terbuka atau aliran data dalam sebuah proses.
🔹 Jenis File Descriptor Utama:
0 (stdin – Standard Input): Digunakan untuk menerima input dari pengguna atau file.
1 (stdout – Standard Output): Digunakan untuk menampilkan output hasil eksekusi.
2 (stderr – Standard Error): Digunakan untuk menampilkan pesan error.
File descriptor digunakan dalam operasi redirection, logging, dan pengendalian aliran data dalam skrip Bash.
📌 2. File Descriptor Standar dalam Bash
🔹 Standard Input (stdin – 0)
stdin digunakan untuk menerima input dari pengguna atau file. Secara default, input diterima dari keyboard.
📌 Contoh Membaca Input dari Pengguna:
echo “Masukkan nama: “ |
📌 Contoh Membaca Input dari File:
while read line; do |
🔹 Standard Output (stdout – 1)
stdout digunakan untuk menampilkan output hasil eksekusi perintah.
📌 Contoh Output ke Terminal:
echo “Hello, World!” |
📌 Contoh Output ke File:
echo “Log ini akan disimpan” > output.txt |
🔹 Standard Error (stderr – 2)
stderr digunakan untuk menampilkan pesan error agar terpisah dari output normal.
📌 Contoh Menampilkan Error:
ls /folder_yang_tidak_ada |
📌 Contoh Mengarahkan Error ke File:
ls /folder_yang_tidak_ada 2> error.log |
📌 3. Menggunakan File Descriptor dalam Scripting
🔹 Mengarahkan stdout dan stderr ke File yang Berbeda:
echo “Ini output biasa” > output.log |
📌 Catatan:
> mengarahkan stdout ke file.
2> mengarahkan stderr ke file.
🔹 Menggabungkan stdout dan stderr dalam Satu File:
command > output.log 2>&1
📌 Catatan:
2>&1 menggabungkan stderr ke stdout, sehingga semuanya masuk ke output.log.
🔹 Menggunakan File Descriptor Secara Eksplisit:
exec 3> custom_output.log |
📌 Catatan:
exec 3> custom_output.log membuka file descriptor 3 untuk output.
>&3 mengarahkan output ke descriptor 3.
exec 3>&- menutup file descriptor 3.
📌 4. Praktik Terbaik dalam Pengelolaan File Descriptor
✅ Gunakan Redirect untuk Logging dan Debugging:
my_script.sh > log.txt 2>&1 |
✅ Pisahkan Output dan Error untuk Debugging yang Lebih Mudah:
my_script.sh > output.log 2> error.log |
✅ Gunakan File Descriptor Tambahan untuk Operasi Khusus:
exec 3> debug.log |
✅ Pastikan File Descriptor Ditutup Setelah Digunakan:
exec 3>&- |
📌 Kesimpulan
Memahami file descriptor dalam Bash membantu kita mengelola input, output, dan error dengan lebih efektif. Dalam artikel ini, kita telah membahas:
✅ Konsep dasar file descriptor (stdin, stdout, stderr). ✅ Cara menggunakan file descriptor untuk redirect output dan error. ✅ Contoh penerapan dalam skrip Bash untuk logging dan debugging. ✅ Praktik terbaik dalam pengelolaan file descriptor.
Artikel Selanjutnya: 🔄 Redirecting and Duplicating File Descriptors – Menggunakan redirection (>, >>, 2>, &>) dan menduplikasi output dalam Bash scripting.
📚 Daftar Pustaka
Shotts, W. E. (2019). The Linux Command Line: A Complete Introduction. No Starch Press.
GNU Bash Manual (2023). GNU Bash Reference Manual. Retrieved from https://www.gnu.org/software/bash/manual/