Hai semuanya, apa kabar? Kali ini saya mau sharing lagi tentang Linux, yaitu tentang beberapa direktori yang ada di Linux. Sebenarnya saya juga pernah tulis ini sebelumnya di: https://zaidan.web.id/2025/07/23/direktori-root-di-linux/ tapi saya tulis lagi aja deh, biar (sedikit) lebih ngerti hehe.
Seperti yang sudah kita tahu, filosofi yang ada di Linux adalah semuanya adalah file. Bahkan perangkat fisik seperti disk dan USB, atau resources seperti memori/proses direpresentasikan sebagai file. Struktur atau hirarki dari file yang ada di Linux dimulai dari root directory yang direpresentasikan dengan garis miring “/“.
Root Directory
Seperti yang sudah disampaikan sebelumnya, root directory adalah “titik awal” dari semua file dan direktori yang ada di Linux. Kita bisa melihat ada direktori apa saja di dalamnya dengan menggunakan perintah:
$ ls /
afs boot etc lib media opt root sbin sys usr
bin dev home lib64 mnt proc run srv tmp var
Di dalamnya akan muncul berbagai direktori yang menjadi bagian inti dari sistem Linux.
Home Directory
Tiap user di Linux memiliki home directory-nya masing masing, termasuk akun root. Home direcotry dari akun root bukanlah /, melainkan /root. Home directory dari akun root ini tidak dapat diakses oleh akun biasa.
$ ls /root
ls: tidak dapat membuka direktori '/root': Ijin ditolak
Untuk akun biasa, home directory-nya terletak di /home/[nama-akun]. Misalnya, akun phantom memiliki home directory di /home/phantom.
$ ls /home/phantom/
Destop Gambar Publik Unduhan
Dokumen Templat Video
Fungsi dari home directory adalah sebagai tempat menyimpan file pribadi dari user. Beberapa aplikasi atau service juga menyimpan file konfigurasinya di home directory. Misalnya konfigurasi SSH (~./ssh/). Home directory juga dibatasi aksesnya agar akun lain tidak dapat sembarangan masuk dan melihat isi dari home directory.
Untuk pengujian, saya buat akun baru dengan nama ignite dengan perintah sudo useradd ignite. Untuk masuk sebagai akun ignite, gunakan perintah sudo su ignite
ignite@localhost:~$ whoami
ignite
Sekarang sudah menggunakan akun ignite. Salah satu cara untuk memastikan bahwa kita tidak salah akun adalah menggunakan perintah whoami, penting terutama untuk SysAdmin yang sering mengelola banyak sistem.
Selanjutnya, kita coba akses home directory dari akun phantom menggunakan akun ignite:
ignite@localhost:~$ cd /home/phantom
bash: cd: /home/phantom: Ijin ditolak
ignite@localhost:~$ ls /home/phantom
ls: tidak dapat membuka direktori '/home/phantom': Ijin ditolak
Kita bisa lihat bahwa aksesnya ditolak. Akun ignite tidak bisa mengakses home direktori dari akun phantom dan juga sebaliknya.
Ada juga shortcut atau cara pintas untuk kembali ke home directory dengan cepat. Caranya adalah dengan menggunakan perintah:
cd ~
atau
cd
Perintah di atas sama dengan cd /home/user. Kita coba untuk membawa akun ke direktori lain yang agak jauh, kemudian gunakan perintah cd . Oiya, untuk menampilkan current working directory atau direktori yang sedang digunakan/aktif, kita bisa menggunakan perintah pwd (print working directory)
phantom@localhost:/etc/ssh$ cd /etc/ssh/
phantom@localhost:/etc/ssh$ pwd
/etc/ssh
phantom@localhost:/etc/ssh$ cd
phantom@localhost:~$ pwd
/home/phantom
/etc Directory
Seperti yang sudah banyak diketahui, semua hal di Linux direpresentasikan sebagai file. Termasuk konfigurasi sistem. Kebanyakan file konfigurasi disimpan dalam direktori /etc. Kalau kita ingin melakiukan perubahan sistem, kemungkinan besar lokasi filenya ada di sini.
Karakteristik dari direktori /etc adalah berisi file teks (bisa dilihat dengan cat, less, nano, vim, dll), file konfigurasi bersifat system-wide, dan juga file-file di dalamnya membutuhkan hak akses root/sudo untuk dapat diubah.
Beberapa contoh file penting yang ada di dalam direktori /etc:
/etc/passwd: berisi daftar akun pada sistem. Berisi informasi username, UID, GID, home directory, dan juga default shell.
~$ cat /etc/passwd
root:x:0:0:Super User:/root:/bin/bash
.../etc/shadow: berisi password hash dari akun. File ini hanya dapat diakses olehrootuntuk alasan keamanan./etc/hosts: berisi hostname mapping ke alamat IP.
$ cat /etc/hosts
127.0.0.1 localhost
.../etc/resolv.conf: konfigurasi DNS resolver, misalnya nameserver yang digunakan oleh sistem.
$ cat /etc/resolv.conf
#Generated by NetworkManager
search domain.xyz
nameserver 192.168.80.11
nameserver 8.8.8.8/etc/fstab: untuk menentukan partisi atau drive mana yang secara otomatis akan di-mount saat sistem dinyalakan.
$ cat /etc/fstab
UUID=91c55c14-f4f1-4405-a610-b39ff3ea0b2d /
xfs defaults 0 0
...
/var Directory
Direktori ini digunakan untuk menyimpan data-data yang sering berubah selama sistem berjalan (variable). Bedanya dengan direktori /etc adalah, kalau /etc menyimpan konfigurasi yang relatif statis, dan /var berisi data dinamis yang dapat bertambah-berkurang-berubah.
Selain berisi file dinamis, karakteristik lain yang identik dengan direktori /var adalah banyak service (atau mungkin hampir semua) Linux menyimpan data operasionalnya pada direktori /var.
Selain itu, untuk kebutuhan misalnya troubleshooting, file log juga biasanya disimpan pada direktori /var/log yang dapat digunakan sebagai referensi saat menganalisis error yang terjadi.
Beberapa subdirektori “penting” pada direktori /var adalah:
/var/log: tempat log files dari sistem dan aplikasi.
$ sudo cat /var/log/messages | more
Sep 7 00:37:47 localhost systemd[1]: Starting logrotate.service - Rotate log files...
Sep 7 00:37:48 localhost systemd[1]: Reloading rsyslog.service - System Logging Service.../var/spool: tempat antrian job yang menunggu untuk diproses. Contohnya adalah antrian print job.
$ ls /var/spool
anacron at cron cups lpd mail plymouth rhsm/var/lib: data yang digunakan aplikasi./var/cache: berisi cache dari aplikasi. Misalnya repository metadata.
$ ls /var/cache/dnf
expired_repos.json
last_makecache
packages.db
rhel-10-for-x86_64-appstream-rpms-7e19683532cf4c23
...
Salah satu contoh “best practice” dalam manajemen direktori /var adalah dengan rutin memantau ukuran direktori /var/log yang dapat “membengkak” seiting waktu. Kita dapat memantau ukuran dari direktori ini dengan menggunakan perintah:
du -sh /var/log/*
dan menghapus file log yang dirasa besar dan sudah tidak digunakan lagi.
/usr Directory
/usr digunakan untuk menyimpan aplikasi, library, dan resources yang digunakan oleh seluruh sistem (system-wide). Beberapa karakteristik dari direktori /usr adalah biasanya semua program dan aplikasi yang diinstal oleh pengguna akan disimpan pada direktori /usr. Kemudian, biasanya isi dari direktori /usr jarang berubah kecuali ada tindakan seperti instalasi, update, dan menghapus program
Contoh subdirektori penting pada direktori /usr adalah /usr/binyang berisi binary atau aplikasi yang dapat dijalankan oleh pengguna. Contoh: ls, nano, dll.
Contoh isi dari direktori /usr/bin:
$ ls /usr/bin | head
[
ac
aconnect
addr2line
adwaita-1-demo
airscan-discover
alias
alsaloop
alsamixer
alsaunmute
Menjalankan aplikasi (misalnya vim) juga bisa dilakukan dengan menggunakan perintah:
/usr/bin/vim
Sebenarnya masih banyak lagi direktori yang ada di /, tapi untuk tulisan kali ini sampai di sini dulu ya. Sampai jumpa. Bye.