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 olehroot
untuk 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/bin
yang 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.