Struktur direktori linux tersusun dari banyak direktori. Pernahkah anda berfikir mengapa program/aplikasi tertentu di linux bisa berada di direktori /bin, /sbin, atau /usr ?
Misalnya, less command terletak di direktori /usr/sbin. Mengapa harus di /usr/sbin ? Kenapa tidak di /bin atau /sbin ? Apa perbedaanya ?

Dalam artikel ini mari kita membahas tentang struktur filesystem di linux dan memahami bagian bagian direktori yang ada di filesystem linux.

Filesystem struktur

Filesystem struktur

1. / – Root

  • Dasar hirarki file, jadi semua file dan direktori dimulai dari direktori root.
  • Hanya pengguna root saja yang memiliki hak akses menulis di direktori ini.
  •  Harap diingat bahwa /root adalah direktori home user root, berbeda dengan /

2. /bin – User Binaries

  • Perintah perintah linux yang sering anda gunakan gunakan terdapat dalam direktori ini.
  • Contohnya : cp, ping, ls, grep dan lainnya
  • Berisi executable biner.

3. /sbin – System Binaries

  • Sama seperti /bin, /sbin juga berisi executable biner
  • Perintah linux yang ada direktori ini biasanya digunakan untuk menjalankan dan memperbaiki sistem
  • Contohnya : iptables, reboot, fdisk, ifconfig dan lainnya

4. /etc – Configuration Files

  • Berisi file konfigurasi yang dibutuhkan oleh semua program
  • Juga berisi script shell startup dan shutdown yang digunakan untuk memulai / menghentikan program tertentu.
  • Contohnya : /etc/resolv.conf, /etc/logrotate.conf

5. /dev – Device Files

  • Berisi informasi hardware yang terhubung atau berkomunikasi dengan linux
  • Contoh : /dev/tty1, /dev/usbmon0

6. /proc – Process Information

  • Berisi informasi tentang proses sistem di linux
  • Merupakan filesystem pseudo yang berisi informasi tentang proses yang sedang berjalan di linux. Contoh : /proc/{pid}
  • Juga merupakan filesystem virtual, yang mencakup informasi mengenai berbagai aspek di linux. Contohnya : /proc/uptime

7. /var – Variable Files

  • Berisi bermacam sistem file seperti log, direktori mail, print dan lainnya.
  • Contohnya : file log system (/var/log), paket dan file database (/var/lib), email (/var/mail), memuat data yang menunggu untuk diproses (/var/spool), penguncian file (/var/lock), menyimpan file file sementara (/var/tmp).

8. /tmp – Temporary Files

  • Direktori ini berisi file sementara yang dibuat oleh sistem dan pengguna.
  • File di direktori ini akan dihapus saat sistem melakukan reboot.

9. /usr – User Programs

  • Berisi file yang digunakan oleh user atau pengguna.
  • usr/bin berisi perintah perintah yang  digunakan oleh pengguna. Contohnya : awk, cc, less dan lainnya
  • usr/sbin berisi perintah system admin. Contohnya : sshd, useradd, userdel dan lainnya
  • /usr/lib berisi library untuk /usr/bin dan /usr/sbin
  • usr/local memuat data local seperti program yang anda install. Misalnya, ketika menginstall apache, sistem tersebut berjalan di /usr/local/apache2

10. /home – Home Directories

  • Berisi Direktori semua user untuk menyimpan file pribadi mereka.
  • Contohnya : /home/ongky

11. /boot – Boot Loader Files

  • Berisi file terkait boot loader
  • Kernel initrd, vmlinux, file grub berada di /boot
  • Contohnya : initrd.img-2.6.32-24-generic, vmlinuz-2.6.32-24-generic

12. /lib – System Libraries

  • Berisi file library, termasuk modul driver yang dapat diisi pada sistem boot
  • Contohnya : ld-2.11.1.so, libncurces.so.5.7

13. /opt – Optional add-on Applications

  • Berisi aplikasi tambahan bersama dengan aplikasi utama

14. /mnt – Mount Directory

  • direktori mount sementara dimana sysadmin dapat me-mount filesystem

15. /media – Removable Media Devices

  • Direktori untuk mounting removable media
  • Contohnya : /media/cdrom untuk CD-ROM, /media/floppy untuk floppy drives, /media/cdrecorder untuk CD writer

16. /srv – Service Data

  • Berisi data spesifik layanan server.
  • Contohnya : /srv, /cvs berisi data terkait CVS