Dokumen ini menjelaskan struktur direktori standar Linux (Filesystem Hierarchy Standard / FHS) secara ringkas namun komprehensif.
Tujuan FHS adalah agar aplikasi, admin, dan pengguna memiliki lokasi yang konsisten untuk file sistem, konfigurasi, log, library, dan data.
/ (root). Semua path berawal dari sini. /mnt/data). /run, /tmp) dan akan kosong saat boot.| Direktori | Fungsi Singkat |
|---|---|
/ |
Root dari seluruh filesystem |
/bin |
Binary esensial untuk user & admin (mis. ls, cp, cat) |
/sbin |
Binary esensial untuk administrasi sistem (mis. mount, ip) |
/usr |
Aplikasi & library read-only (userland) yang tidak kritikal saat boot |
/usr/bin |
Binary aplikasi umum |
/usr/sbin |
Binary admin non-esensial untuk boot |
/usr/local |
Aplikasi yang diinstal manual (di luar manajer paket) |
/etc |
File konfigurasi sistem (teks) |
/var |
Data berubah (log, spool, cache) |
/home |
Home directory user biasa |
/root |
Home untuk user root |
/tmp |
File sementara (biasanya dibersihkan saat boot) |
/opt |
Aplikasi pihak ketiga (bundle) |
/srv |
Data layanan yang disajikan oleh server (mis. web, ftp) |
/lib, /lib64 |
Library penting untuk program di /bin dan /sbin |
/boot |
Kernel, initramfs, file bootloader |
/dev |
Device file (block/char devices) |
/proc |
Pseudo-filesystem info proses & kernel (runtime) |
/sys |
Pseudo-filesystem konfigurasi kernel & device |
/run |
Data runtime (PID, socket); volatile |
/media |
Mount removable media (USB, CD) otomatis |
/mnt |
Mount sementara oleh admin |
/bin dan /sbinls /bin | head
ls /sbin | head/usr/bin atau /usr/sbin./usr (userland, read-only saat normal operasi)/usr/bin → binary aplikasi umum./usr/sbin → binary admin non-esensial./usr/lib, /usr/lib64 → library./usr/share → data arsitektur-independen (man page, locale)./usr/local → tempat instal manual (build dari source)./etc (konfigurasi sistem)/etc/hostname, /etc/hosts, /etc/resolv.conf/etc/fstab (mount table), /etc/ssh/sshd_config/etc/systemd/system/*.service (unit lokal)
sudo systemctl edit --full nginx.service # mengedit unit lokal (disimpan ke /etc/systemd/system)/var (data berubah)/var/log/ (mis. syslog, auth.log, nginx/) /var/spool/ (mail, cron) /var/cache/ (apt cache, aplikasi) /var/www/ untuk dokumen web
sudo du -sh /var/log/*
sudo journalctl -xe/home dan /root/home/<user> → data & konfigurasi tiap user. /root → home untuk administrator root; jangan campur dengan /home.
ls -la /home
sudo ls -la /root/tmptouch /tmp/contoh && ls -l /tmp/contoh/opt/opt/<vendor>/). /srv/srv/ftp, /srv/www/example.com/./lib, /lib64/bin dan /sbin. /bootvmlinuz-*), initramfs, dan file bootloader (grub/).
ls -lh /boot/dev (device files)udev. Contoh:
/dev/sda, /dev/nvme0n1/dev/sda1/dev/tty*
ls -l /dev/sd*/proc (virtual, informasi runtime)/proc/cpuinfo, /proc/meminfo/proc/<PID>/ → info proses, fd, cmdline
cat /proc/meminfo | head/sys (virtual, konfigurasi kernel/perangkat)/run (runtime data, volatile)ls -l /run | head/media dan /mnt/media → mount otomatis removable media (USB, CD). /mnt → mount sementara oleh admin (mis. investigasi disk).
sudo mount /dev/sdb1 /mnt
df -h | grep /mntlsblk, blkid, fdisk -l mount, findmnt, df -h /etc/fstabfstab:
UUID=xxxx-xxxx /mnt/data ext4 defaults,noatime 0 2
Gunakan
blkiduntuk mendapatkan UUID.
df -h # kapasitas filesystem
du -sh /var/log/* # ukuran tiap folder/log
sudo ncdu /var # (opsional) utilitas interaktif, paket: ncdu
/etc, log di /var/log, data service di /srv atau /var/lib/<service>. /usr/local/ atau /opt/, jangan tabrak file manajer paket. /etc/systemd/system/ untuk unit override lokal, bukan edit langsung di /lib/systemd/system. /var, /home, /srv, atau /opt sesuai kebutuhan. 644, folder 755). /tmp atau /run (volatile). Kenapa ada /usr/bin dan /bin?
Secara historis, /bin dibutuhkan saat boot. Distro modern sering menyatukan ke /usr menggunakan symlink.
Dimana menaruh file website?
Konvensinya /var/www/<site>/ atau mengikuti struktur manajer web server (nginx/apache).
Dimana menyimpan file service custom?
Konfigurasi di /etc/<service>/, data di /var/lib/<service>/, log di /var/log/<service>/.
Memahami FHS membantu admin:
Rujuk dokumentasi distro Anda jika ada variasi kecil (Debian/Ubuntu vs RHEL/SUSE). Prinsip umumnya sama mengikuti FHS.