Skip to content

zaidan's blog

a newbie, writing IT-related stuff and some personal experiences

Menu
  • IT
  • Personal life/opinion
  • Linux
  • Sepeda
  • Proxmox
  • VM/Container
  • Kuliah/Catatan Kuliah
Menu

Direktori di Linux: /root, /home, /etc, /var, /usr

Posted on 10/09/202510/09/2025 by Zaidan

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 oleh root 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/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.

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Tulisan saya yang lain:

  • Kasus Honey
  • Kuliah atau Kerja? Atau Kerja Sambil Kuliah?
  • Menggunakan Hosting Eksternal untuk Gambar di Blog
  • Coba Instal XCP-ng

Arsip blog

  • September 2025
  • August 2025
  • July 2025
  • June 2025
  • May 2025
  • April 2025
  • March 2025
  • February 2025
  • January 2025
  • December 2024
  • November 2024
  • October 2024
  • September 2024
  • August 2024
  • July 2024
  • June 2024
  • May 2024
  • April 2024
  • March 2024
  • February 2024
  • January 2024
  • December 2023
  • November 2023
  • October 2023
  • September 2023
  • August 2023
  • July 2023
  • June 2023
  • May 2023
© 2025 zaidan's blog | Powered by Superbs Personal Blog theme