Kembali ke Artikel

Belajar Linux dari Nol #4: Struktur Direktori Linux Lengkap

Solusi IT

Struktur direktori Linux berbeda total dengan Windows. Tidak ada drive C: atau D:. Semua file, folder, bahkan perangkat keras, tersusun dalam satu pohon besar yang berawal dari satu titik: / alias root. Aturan penataannya diatur oleh standar bernama Filesystem Hierarchy Standard (FHS), jadi hampir semua distro Linux punya susunan folder yang mirip.

Di bagian keempat seri Belajar Linux dari Nol ini kita akan tur keliling folder-folder penting itu satu per satu memakai terminal. Setelah selesai, kamu tahu di mana file config aplikasi disimpan, di mana log berada, dan kenapa folder /root menolak kamu masuk. Pengetahuan ini jadi bekal wajib sebelum nanti kita mengelola server sungguhan.

Prasyarat Sebelum Mulai

Tutorial ini memakai Ubuntu 24.04 LTS, sama seperti bagian-bagian sebelumnya. Kamu juga harus sudah nyaman berpindah folder dengan cd, melihat isi folder dengan ls, dan mengecek posisi dengan pwd. Kalau tiga perintah itu masih asing, selesaikan dulu Belajar Linux dari Nol #3: Perintah Dasar Linux Navigasi karena semua praktik di sini memakainya.

Kabar baiknya, tur kali ini hampir seluruhnya hanya membaca. Kita cuma melihat-lihat isi folder, bukan mengubah apa pun. Jadi aman, tidak ada risiko merusak sistem.

Filesystem Hierarchy Standard: Semua Berawal dari /

Di Windows, setiap partisi atau disk muncul sebagai drive terpisah: C:, D:, E:. Linux memakai pendekatan lain. Hanya ada satu pohon direktori, dan puncaknya adalah / yang dibaca “root”. Disk kedua, flashdisk, atau partisi lain tidak muncul sebagai drive baru, melainkan “ditempelkan” (mount) ke salah satu folder di dalam pohon itu, biasanya di bawah /media atau /mnt.

Susunan folder di bawah / tidak asal-asalan. Ada dokumen standar bernama Filesystem Hierarchy Standard yang dikelola Linux Foundation. Standar inilah alasan kamu bisa pindah dari Ubuntu ke Debian, Fedora, atau AlmaLinux dan tetap menemukan /etc, /var, dan /home di tempat yang sama.

Mari lihat isinya langsung. Jalankan:

ls /

Di Ubuntu 24.04 outputnya kurang lebih seperti ini:

bin    dev   home  lib64       media  opt   root  sbin  srv  tmp  var
boot   etc   lib   lost+found  mnt    proc  run   snap  sys  usr

Banyak, tapi tenang. Kamu tidak perlu hafal semuanya sekarang. Kita fokus ke delapan folder yang paling sering kamu sentuh sehari-hari.

Tur Praktik Struktur Direktori Linux

Buka terminal, lalu ikuti tur ini folder demi folder. Jalankan setiap perintahnya supaya nempel di ingatan.

/home: Rumah untuk Setiap User

Setiap user biasa punya satu folder pribadi di dalam /home. Kalau username kamu budi, maka folder pribadimu adalah /home/budi. Di sinilah dokumen, download, dan file config pribadimu tinggal.

ls /home

Outputnya daftar user yang terdaftar di komputer itu, misalnya:

budi

Simbol ~ yang sering kamu lihat di prompt terminal adalah singkatan untuk home milikmu sendiri. Jadi cd ~ dan cd /home/budi hasilnya sama.

/etc: Pusat File Konfigurasi Sistem

Hampir semua konfigurasi sistem dan aplikasi level sistem disimpan di /etc dalam bentuk file teks biasa. Nama hostname komputer, daftar user, konfigurasi jaringan, sampai setting web server, semuanya di sini.

ls /etc | head -5
adduser.conf
alternatives
apache2
apparmor
apparmor.d

Contoh yang gampang dicek, file berisi nama komputermu:

cat /etc/hostname

Kalau nanti kamu install Nginx, confignya ada di /etc/nginx. Install PHP, confignya di /etc/php. Polanya konsisten, dan itulah enaknya struktur direktori Linux yang mengikuti FHS.

/var: Data yang Terus Berubah, Termasuk Log

Nama var berasal dari kata variable, artinya data yang ukurannya berubah-ubah selama sistem berjalan. Penghuni paling penting di sini adalah /var/log, tempat semua catatan aktivitas sistem disimpan.

ls /var/log
alternatives.log  bootstrap.log  dpkg.log  kern.log   syslog
apt               btmp           faillog   lastlog    wtmp
auth.log          dmesg          journal   private

Saat ada aplikasi error atau server bermasalah, /var/log adalah tempat pertama yang dicek. Website yang di-hosting di server juga sering ditaruh di /var/www. Di tim Arrazy, kebiasaan pertama saat debugging server klien ya membuka folder ini, jauh sebelum menyentuh kode aplikasinya.

/usr dan /bin: Tempat Program Terinstall

Program yang kamu jalankan dari terminal, seperti ls, cat, atau nano, sebenarnya adalah file executable yang tersimpan di /usr/bin. Cek berapa banyak isinya:

ls /usr/bin | wc -l

Di Ubuntu 24.04 hasil fresh install biasanya di kisaran 1500 lebih, tergantung aplikasi yang terpasang. Kamu bahkan bisa menemukan lokasi persis sebuah perintah:

which ls
/usr/bin/ls

Lalu apa bedanya dengan /bin? Di Ubuntu modern, /bin hanyalah symlink alias jalan pintas menuju /usr/bin. Buktikan sendiri:

ls -ld /bin
lrwxrwxrwx 1 root root 7 Apr 22  2024 /bin -> usr/bin

Tanda panah itu artinya /bin menunjuk ke usr/bin. Dulu keduanya terpisah, sekarang sudah digabung. Selain program, /usr juga menampung library di /usr/lib dan dokumentasi di /usr/share.

/tmp: Penampungan File Sementara

Folder /tmp boleh dipakai siapa saja untuk menaruh file sementara. Aplikasi sering memakainya untuk file kerja yang tidak perlu disimpan lama.

ls /tmp

Isinya bervariasi, kadang kosong, kadang penuh file aneh milik aplikasi yang sedang jalan. Satu hal penting: jangan pernah menyimpan file berharga di sini. Ubuntu 24.04 membersihkan isi /tmp secara otomatis, dan file yang sudah lama tidak disentuh akan dihapus sistem. Kita bahas jebakannya di bagian troubleshooting.

/opt: Aplikasi Pihak Ketiga

Folder /opt disediakan untuk software opsional dari luar repositori resmi, biasanya aplikasi komersial atau software yang diinstall manual. Google Chrome misalnya, menaruh dirinya di /opt/google/chrome.

ls /opt

Di sistem yang masih segar outputnya kosong, dan itu normal. Folder ini baru terisi ketika kamu menginstall aplikasi yang memang memilih tinggal di sana.

/root: Rumah Khusus Superuser

Ini yang sering bikin bingung pemula. /root bukan direktori root /. /root adalah home folder milik user bernama root, si superuser. Coba intip:

ls /root
ls: cannot open directory '/root': Permission denied

Ditolak, dan itu memang disengaja. Hanya root yang boleh masuk ke rumahnya sendiri. Kalau penasaran isinya, pinjam hak akses root dengan sudo:

sudo ls /root

Masukkan password kamu, dan barulah isinya terlihat, biasanya cuma ada folder snap di instalasi baru.

Everything is a File: Mengintip /proc dan /dev

Ada satu filosofi Linux yang terkenal: everything is a file, semuanya adalah file. Hardware, proses yang sedang berjalan, bahkan informasi kernel, semuanya bisa diakses seolah-olah file biasa. Dua folder ini buktinya.

/proc berisi file virtual yang dibuat kernel secara langsung di memori. File-file ini bukan file sungguhan di disk, tapi jendela untuk melihat kondisi sistem saat itu juga. Mau tahu prosesor komputermu?

grep "model name" /proc/cpuinfo | head -1
model name	: AMD Ryzen 5 5500U with Radeon Graphics

Output di komputermu menyesuaikan prosesor masing-masing. Ada juga /proc/meminfo untuk RAM dan /proc/uptime untuk lama komputer menyala.

/dev berisi file yang mewakili perangkat keras. Disk pertama biasanya muncul sebagai /dev/sda atau /dev/nvme0n1, terminal yang sedang kamu pakai pun punya file di sini.

ls /dev | head -5
autofs
block
bsg
btrfs-control
bus

Kamu belum perlu mendalami keduanya sekarang. Cukup tahu bahwa keduanya ada, isinya virtual, dan jangan diutak-atik sembarangan.

Peta Cepat: Di Mana Mencari Apa

Supaya gampang diingat, ini rangkuman lokasi yang paling sering dicari, terutama saat nanti kamu mulai mengurus server:

Kamu mencari Lokasi umum Contoh
File konfigurasi aplikasi /etc /etc/nginx/nginx.conf
Log sistem dan aplikasi /var/log /var/log/syslog
Program hasil install APT /usr/bin /usr/bin/nano
File website di server /var/www /var/www/html
Aplikasi install manual /opt /opt/google/chrome
File pribadi user /home /home/budi/Documents

Peta ini yang dipakai tim Arrazy setiap hari saat menyiapkan server untuk aplikasi klien, dari backend Go sampai Laravel. Deploy aplikasi, cek log, ubah config, semuanya berputar di folder-folder di tabel ini. Kalau kamu tertarik melihat seperti apa hasil akhirnya di dunia kerja, sistem yang kami bangun untuk klien ada gambarannya di halaman sistem aplikasi.

Troubleshooting: Error yang Sering Dialami Pemula

Permission denied saat masuk /root

Kamu menjalankan cd /root atau ls /root dan ditolak dengan pesan Permission denied. Ini bukan error, ini fitur keamanan. Folder itu milik superuser dan permissionnya drwx------, artinya hanya root yang boleh membuka. Solusinya bukan memaksa masuk, tapi bertanya dulu ke diri sendiri: perlu apa di sana? Kalau memang perlu, awali perintah dengan sudo, misalnya sudo ls /root. Untuk file pribadimu, tempatnya di /home/username, bukan /root.

File di /tmp hilang sendiri

Kemarin menaruh file kerjaan di /tmp, hari ini sudah lenyap. Ini perilaku normal. Di Ubuntu 24.04, systemd membersihkan /tmp lewat mekanisme tmpfiles, dan file yang berumur lebih dari 10 hari dihapus otomatis. Reboot juga bisa mengosongkannya. Anggap /tmp seperti meja kasir: boleh dipakai sebentar, jangan ditinggali. Simpan file penting di home folder.

No such file or directory padahal foldernya ada

Kamu mengetik cd etc dari home folder dan muncul bash: cd: etc: No such file or directory. Penyebabnya path relatif. Tanpa garis miring di depan, shell mencari folder etc di dalam posisi kamu berdiri sekarang, bukan di puncak pohon. Tambahkan / di depan sehingga menjadi cd /etc. Aturan praktisnya: kalau tujuanmu folder sistem, selalu tulis path lengkap dari /.

Mengubah file di /etc ditolak

Membuka file config di /etc bisa, tapi saat menyimpan muncul pesan permission denied. Wajar, file di sana milik root dan user biasa hanya boleh membaca. Editnya perlu sudo, contohnya sudo nano /etc/hostname. Tapi hati-hati, salah edit file di /etc bisa membuat sistem bermasalah. Biasakan mencatat isi asli sebelum mengubah apa pun.

Lanjut ke Bagian Berikutnya

Sekarang kamu sudah pegang peta lengkap struktur direktori Linux: dari /home tempat file pribadimu, /etc untuk config, /var/log untuk log, sampai /usr/bin tempat program tinggal. Peta ini akan terus terpakai sampai seri ini selesai, apalagi saat masuk materi server.

Di bagian berikutnya, Belajar Linux dari Nol #5: Cara Copy dan Hapus File di Linux, kita mulai benar-benar mengelola file: menyalin, memindahkan, mengganti nama, dan menghapus dengan aman lewat terminal. Artikelnya terbit menyusul, pantau daftar lengkapnya di halaman hub Belajar Linux.

Referensi

BACA JUGA

Artikel Lainnya di Kategori Linux

Ingin Membaca Artikel Lainnya?

Temukan lebih banyak insight dan tips tentang teknologi dan bisnis digital.

Lihat Semua Artikel