Jika anda pernah mencoba Linux, mungkin anda pernah mendengar istilah root, lib, bin, dan sebagainya. Ini adalah berbagai direktori yang akan anda temukan di semua distribusi Linux.
Faktanya, Linux Foundation mengelola Standar Hierarki Sistem Berkas (Filesystem Hierarchy Standard/FHS). FHS ini mendefinisikan struktur direktori serta isi/tujuan direktori di distribusi Linux. Berkat FHS ini, anda akan menemukan struktur direktori yang (hampir) sama di semua distribusi Linux.
Mari kita lihat secara detail struktur direktori Linux.
Linux didasarkan pada UNIX sehingga mewarisi hierarki sistem berkas dari UNIX. Anda akan menemukan struktur direktori yang serupa di sistem operasi berbasis UNIX seperti BSD dan macOS. Namun, saya akan menggunakan istilah Linux di sini, bukan UNIX.
Semua file dan direktori di Linux berada di bawah ‘root’ yang diwakili oleh simbol ‘/’. Jika anda melihat struktur direktori, anda akan menyadari bahwa itu mirip dengan akar tanaman.
Struktur Direktori Linux
Karena semua direktori atau file lainnya berasal dari root, jalur absolut dari file apa pun ditelusuri melalui root. Misalnya, jika anda memiliki file di /home/user/documents, anda bisa menebak bahwa struktur direktori berjalan dari root→home→user→documents.
Lelucon kejam “rm -rf /”
Anda mungkin pernah menemukan beberapa lelucon di internet yang menyebutkan “rm -rf /”. Perintah rm digunakan untuk menghapus file dan direktori di Linux.
Dengan perintah rm -rf /, anda meminta sistem untuk secara paksa dan rekursif menghapus isi direktori root. Karena direktori root memiliki semuanya di bawahnya, anda akan menghapus semuanya dan sistem Linux-mu akan lenyap (secara teori).
Sebagian besar distribusi Linux tidak akan menjalankan perintah ini kecuali anda memberikan opsi –no-preserve-root. Dalam hal apa pun, jangan pernah penasaran untuk menjalankan perintah ini. Rasa penasaran bisa membawa petaka, seperti kata pepatah, “curiosity killed the cat.”
Direktori ‘/bin’ berisi file executable dari banyak perintah shell dasar seperti ls, cp, cd, dll. Sebagian besar program di sini dalam format biner dan dapat diakses oleh semua pengguna di sistem Linux.
Direktori ini hanya berisi file khusus, termasuk yang terkait dengan perangkat. Ini adalah file virtual, bukan fisik di disk.
Beberapa contoh menarik dari file-file ini adalah:
Direktori /etc berisi file konfigurasi inti sistem, yang digunakan terutama oleh administrator dan layanan, seperti file kata sandi dan file jaringan.
Jika anda perlu mengubah konfigurasi sistem (misalnya, mengganti nama host), folder /etc adalah tempat anda akan menemukan file terkait.
Dalam direktori ‘/usr’ terdapat file executable, perpustakaan, dan sumber dari sebagian besar program sistem. Untuk alasan ini, sebagian besar file di sini bersifat read-only (untuk pengguna normal).
Direktori home berisi direktori pribadi untuk setiap pengguna. Direktori home berisi data pengguna dan file konfigurasi spesifik pengguna. Sebagai pengguna, anda akan meletakkan file pribadi, catatan, program, dan sebagainya di direktori home.
Ketika anda membuat pengguna di sistem Linux, umumnya sebuah direktori home juga dibuat untuk pengguna tersebut. Misalkan sistem Linux-mu memiliki dua pengguna, Alice dan Bob. Mereka akan memiliki direktori home masing-masing di lokasi /home/alice dan /home/bob.
Perlu dicatat bahwa Bob tidak akan memiliki akses ke /home/alice dan sebaliknya. Ini masuk akal karena hanya pengguna yang seharusnya memiliki akses ke direktori home mereka sendiri. Anda bisa membaca lebih lanjut tentang izin file di Linux untuk memahami topik ini lebih jauh.
Perpustakaan (libraries) adalah kode yang dapat digunakan oleh file executable. Direktori /lib berisi perpustakaan yang dibutuhkan oleh biner di direktori /bin dan /sbin.
Perpustakaan yang dibutuhkan oleh biner di direktori /usr/bin dan /usr/sbin berada di direktori /usr/lib.
Ini mirip dengan direktori /bin. Perbedaannya adalah direktori ini berisi biner yang hanya bisa dijalankan oleh root atau pengguna sudo. Anda bisa menganggap ‘s’ dalam ‘sbin’ sebagai singkatan dari super atau sudo.
Seperti namanya, direktori ini menyimpan file sementara. Banyak aplikasi menggunakan direktori ini untuk menyimpan file sementara. Anda juga bisa menggunakan direktori ini untuk menyimpan file sementara.
Namun, perlu dicatat bahwa isi direktori /tmp dihapus ketika sistem di-restart. Beberapa sistem Linux juga menghapus file lama secara otomatis, jadi jangan menyimpan sesuatu yang penting di sini.
Var, singkatan dari variable (variabel), adalah tempat program menyimpan informasi runtime seperti pencatatan sistem, pelacakan pengguna, cache, dan file lain yang dibuat dan dikelola oleh program sistem.
File-file yang disimpan di sini TIDAK dihapus secara otomatis sehingga menyediakan tempat yang baik bagi administrator sistem untuk melihat informasi tentang perilaku sistem mereka. Misalnya, jika anda ingin memeriksa riwayat login di sistem Linux, cukup periksa konten file di /var/log/wtmp.
Direktori ‘/boot’ berisi file kernel dan boot image, selain itu juga berisi LILO dan Grub. Disarankan agar direktori ini berada di partisi pada awal disk.
Direktori ‘/proc’ berisi informasi tentang proses yang sedang berjalan dan parameter kernel. Konten direktori proc digunakan oleh sejumlah alat untuk mendapatkan informasi runtime sistem.
Misalnya, jika anda ingin memeriksa informasi prosesor di Linux, anda cukup merujuk ke file /proc/cpuinfo. Jika anda ingin memeriksa penggunaan memori di sistem Linux, lihat konten file /proc/meminfo.
Secara tradisional, direktori /opt digunakan untuk menginstal/menyimpan file aplikasi pihak ketiga yang tidak tersedia di repository distribusi.
Praktik umum adalah menyimpan kode perangkat lunak di opt dan kemudian menautkan file biner di direktori /bin sehingga semua pengguna bisa menjalankannya.
Ada juga direktori /root dan ini berfungsi sebagai direktori home untuk pengguna root. Jadi, alih-alih /home/root, home untuk root terletak di /root. Jangan bingung dengan direktori root (/).
Ketika anda menghubungkan media yang dapat dilepas seperti USB disk, kartu SD, atau DVD, sebuah direktori secara otomatis dibuat di bawah direktori /media untuk mereka. Anda bisa mengakses konten media yang dapat dilepas dari direktori ini.
Ini mirip dengan direktori /media, tetapi alih-alih memasang media yang dapat dilepas secara otomatis, mnt digunakan oleh administrator sistem untuk memasang sistem berkas secara manual.
Direktori /srv berisi data untuk layanan yang disediakan oleh sistem. Misalnya, jika anda menjalankan server HTTP, praktik yang baik adalah menyimpan data situs web di direktori /srv.
Diterjemahkan dari https://linuxhandbook.com/linux-directory-structure/