Kalau kamu besar di dunia Windows, kamu terbiasa file itu tinggal di drive yang punya huruf: C: untuk disk utama, D: untuk yang kedua, mungkin E: untuk flashdisk. Tiap drive jadi dunianya sendiri, dengan puncaknya masing-masing. Linux membuang habis cara berpikir ini. Di server Linux sama sekali tidak ada huruf drive — yang ada cuma satu pohon, dan semuanya menggantung di sana.
Pohon tunggal itulah yang orang maksud waktu bilang “sistem berkas Linux.” Sekilas memang bikin keder gara-gara ada folder dengan nama irit seperti /etc, /var, dan /usr. Tapi begitu kamu paham logika di baliknya, semuanya berubah dari labirin jadi peta. Dan karena hampir semua server yang bakal kamu pegang menjalankan Linux, ini termasuk fondasi yang manfaatnya terasa selamanya.
Sistem berkas itu sebenarnya apa
Sebelum masuk ke detail Linux, kita pastikan dulu idenya yang paling dasar. Sistem berkas adalah cara sistem operasi menata dan melacak file di sebuah disk. Disk-nya sendiri cuma deretan panjang blok penyimpanan — ruang mentah tanpa label. Sistem berkas adalah lapisan pencatatan di atasnya yang berkata “blok-blok ini adalah file bernama report.txt, dia tinggal di folder ini, ukurannya sekian, dan terakhir diubah pada tanggal sekian.”
Tanpa sistem berkas, sebuah disk cuma tumpukan byte. Sistem berkaslah yang mengubah tumpukan itu jadi file bernama yang bisa kamu buka, folder yang bisa kamu telusuri, dan struktur yang bisa kamu jelajahi. Setiap sistem operasi punya ini — Windows dan macOS juga. Yang bikin Linux menarik adalah bagaimana dia menyusun struktur tersebut.
Satu pohon, dimulai dari root
Ini ide yang paling penting: di Linux, semuanya tinggal di bawah satu direktori bernama root, yang ditulis cukup dengan satu garis miring: /.
Tidak ada “level paling atas” di atas itu. File-mu, konfigurasi sistem, program yang terpasang, bahkan flashdisk yang kamu colok — semuanya muncul di suatu tempat di dalam satu pohon itu. Waktu kamu memasang hard disk kedua, dia tidak berubah jadi “D:”. Sebagai gantinya dia di-mount ke sebuah folder di dalam pohon, misalnya /mnt/backup, dan sejak itu kamu mengakses isinya dengan masuk ke folder tersebut seperti folder biasa lainnya.
/ ← root, puncak dari segalanya
├── bin ← program penting (perintah)
├── etc ← berkas konfigurasi sistem
├── home ← folder pribadi tiap user
│ ├── johndoe
│ └── janedoe
├── var ← data yang berubah (log, cache)
├── usr ← software terpasang dan berkasnya
├── tmp ← berkas sementara
└── mnt ← tempat drive tambahan di-mount
Selalu garis miring depan
Path Linux memakai garis miring depan / untuk memisahkan folder, dan garis miring paling awal berarti “mulai dari root.” Jadi /home/johndoe/notes.txt dibaca: mulai dari root, masuk ke home, lalu ke johndoe, lalu file notes.txt. Windows pakai backslash (\) dan huruf drive; Linux tidak pernah begitu. Kalau kamu selama ini cuma pakai Windows, melatih jari mengetik / adalah salah satu penyesuaian kecil pertama — dan begitu terbiasa, path jadi terbaca seperti sebuah kalimat.
Berkeliling folder-folder utama
Nama foldernya terasa misterius karena kebanyakan adalah singkatan dari zaman Unix awal. Tapi ada standar tata letak nyata di baliknya (Filesystem Hierarchy Standard), dan begitu kamu tahu tiap folder itu untuk apa, kamu bakal selalu tahu kira-kira harus mencari ke mana. Ini yang paling penting untuk diketahui di sebuah server.
/etc — laci konfigurasi
Kalau kamu cuma mau mengingat satu folder, jadikan yang ini. /etc (bayangkan saja sebagai “et cetera,” walau itu cuma kebetulan yang menyenangkan) menyimpan berkas konfigurasi yang berlaku se-sistem — hampir selalu berupa teks biasa. Pengaturan web server-mu, daftar akun user, setelan jaringan sistem, tugas terjadwal — semuanya tinggal di sini sebagai berkas teks yang bisa diedit. Waktu kamu perlu mengubah perilaku sebuah server, biasanya kamu sedang mengedit sesuatu di dalam /etc.
/home — tempat orang tinggal
Tiap akun user manusia mendapat folder pribadi di bawah /home, dinamai sesuai namanya: /home/johndoe, /home/janedoe. Di sinilah file pribadi user, unduhan, dan setelan personalnya berada. Ini satu-satunya tempat di mana user biasa (bukan admin) bisa leluasa membuat dan menghapus file tanpa izin khusus. Pintasan ~ (tilde) selalu berarti “folder home milikku sendiri,” jadi ~/notes.txt sama saja dengan /home/johndoe/notes.txt waktu kamu login sebagai John.
/var — yang isinya terus bertambah
/var itu singkatan dari “variable,” dan dia rumah bagi data yang terus berubah selama sistem berjalan. Yang paling besar di sini adalah log: /var/log adalah tempat sistem dan aplikasimu menulis catatan tentang apa yang sedang mereka lakukan. Waktu ada yang rusak di server, /var/log adalah tempat pertama yang dilihat admin berpengalaman. Cache, antrean surat, dan berkas yang disajikan oleh sebagian setelan web juga bisa tinggal di bawah /var.
/usr — software terpasang
Walau namanya kelihatan seperti “user,” /usr sebenarnya soal program terpasang beserta berkas pendukungnya — bagian terbesar dari software di mesin itu. Kebanyakan perintah yang kamu jalankan dan kebanyakan aplikasi yang kamu pasang berakhir tersimpan di bawah sini. Kamu jarang sekali mengedit apa pun di /usr secara manual; package manager yang mengisinya untukmu.
/bin dan /sbin — perintahnya itu sendiri
Waktu kamu mengetik ls atau cp, program sebenarnya yang berjalan itu tinggal di folder seperti /bin (perintah user penting) atau /sbin (perintah sistem/admin). Di banyak distribusi modern keduanya mengarah ke /usr, tapi idenya sama: folder-folder ini menampung program yang bisa dijalankan, yang menjadi perkakas dasar sistem.
/tmp — kertas coret-coretan
/tmp adalah ruang sementara. Program menaruh berkas berumur pendek di sini, dan folder ini biasanya dibersihkan saat reboot. Jangan pernah menyimpan apa pun yang kamu sayangi di /tmp — anggap saja seperti papan tulis yang bakal dihapus.
/root — rumah si admin
Sedikit membingungkan: /root (dengan nama, di dalam pohon) adalah folder home dari akun administrator, yang juga disebut root. Jangan tertukar dengan / (root dari pohonnya). Yang satu adalah puncak dari segalanya; yang satu lagi cuma folder pribadi salah satu user yang kebetulan namanya sama.
Satu pintasan ingatan cepat
Kamu tidak perlu menghafal semua ini. Cukup ingat tiga: /etc untuk konfigurasi, /home untuk file orang, dan /var/log untuk log. Tiga itu sudah menutupi sebagian besar yang benar-benar kamu sentuh sehari-hari di sebuah server. Sisanya bisa kamu cari saat butuh, dan kamu bakal menyerapnya dengan sendirinya seiring waktu.
Path absolut vs path relatif
Begitu semuanya tinggal di satu pohon, kamu butuh cara menunjuk titik tertentu di dalamnya. Itulah fungsi sebuah path — petunjuk arah menuju sebuah file atau folder. Ada dua jenis, dan perbedaannya sering bikin pemula keliru.
Path absolut dimulai dari root dengan garis miring di depan. Ini alamat lengkap, jelas tanpa ambigu, tidak peduli kamu sedang berada di mana:
/home/johndoe/projects/site/index.html
Path relatif dimulai dari posisimu sekarang (“direktori saat ini”) dan tidak punya garis miring di depan. Kalau kamu sedang berada di /home/johndoe, maka path relatif ini:
projects/site/index.html
menunjuk ke file yang persis sama. Path relatif punya dua pintasan praktis: . berarti “folder saat ini,” dan .. berarti “folder satu tingkat di atas.” Jadi ../janedoe berarti “naik satu tingkat, lalu masuk ke janedoe.”
Kamu di sini: /home/johndoe
./notes.txt → /home/johndoe/notes.txt (folder saat ini)
../janedoe → /home/janedoe (naik satu, lalu pindah)
projects/site → /home/johndoe/projects/site (masuk ke dalam)
/etc/hosts → /etc/hosts (absolut, abaikan posisimu)
Aturan praktisnya: pakai path absolut di script dan berkas konfigurasi saat kamu butuh kepastian, dan andalkan path relatif waktu kamu bekerja interaktif dan cuma ingin berpindah cepat. Mengacaukan keduanya — mengira kamu ada di satu folder padahal sebenarnya di folder lain — adalah biang dari sejumlah mengejutkan masalah “file not found.”
“Semuanya adalah file”
Ada satu ungkapan tentang Linux yang kedengarannya seperti teka-teki: semuanya adalah file. Ini salah satu ide desain yang bikin sistem bergaya Unix begitu konsisten.
Intinya, Linux memunculkan hampir segala sesuatu lewat antarmuka file-dan-folder yang sama, bahkan untuk hal-hal yang bukan file dalam pengertian sehari-hari. Hard disk-mu, keyboard-mu, sebuah proses yang berjalan, bahkan penghasil angka acak milik sistem — banyak di antaranya muncul sebagai entri khusus di dalam pohon (sering di bawah /dev untuk perangkat dan /proc untuk informasi sistem yang sedang berjalan) yang bisa kamu baca atau tulisi dengan perkakas yang persis sama seperti yang kamu pakai pada berkas teks.
Sebagai pemula kamu belum perlu memakai ini secara langsung. Tapi inilah yang menjelaskan kenapa Linux terasa begitu seragam: begitu kamu belajar membaca dan menulis file, tanpa sadar kamu sudah belajar berinteraksi dengan sebagian besar sistem, karena begitu banyak bagiannya dikemas agar tampak seperti file. Ini ide yang diam-diam ampuh, dan jadi salah satu alasan kenapa Linux sejak awal menjadi pilihan utama untuk server.
Kenapa ini penting di server
Waktu kamu mengelola server, sebagian nyata dari waktumu dihabiskan untuk menjelajahi pohon ini: mengedit konfigurasi di /etc, mengecek error di /var/log, men-deploy berkas website-mu ke sebuah folder di bawah /var atau /home. Kalau tata letaknya jadi misteri, tiap tugas terasa seperti meraba-raba dalam gelap. Begitu sudah akrab, kamu bergerak dengan niat yang jelas — kamu tahu di mana log-nya, di mana konfigurasinya, di mana berkas aplikasimu seharusnya berada.
Ini juga bikin dokumentasi langsung nyantol. Tutorial terus-menerus berkata semacam “taruh ini di /etc/...” atau “cek /var/log/....” Kalau path-path itu cuma bunyi tak bermakna buatmu, kamu menyalin perintah sekadar percaya saja. Kalau kamu paham pohonnya, kamu sedang membaca instruksi yang benar-benar kamu mengerti — dan kamu bisa menyesuaikannya kalau situasimu sedikit berbeda dari panduannya.
Inilah persisnya kenapa keterampilan Linux ada di dekat awal dari jalur belajar server mana pun. Kalau belum, ada baiknya kamu pahami kenapa Linux mendominasi dunia server dari awalnya, dan bagaimana sistem operasi sebuah server berbeda dari yang ada di laptopmu — dibahas di sistem operasi pada server. Sistem berkas adalah tempat semua pengetahuan itu jadi praktik nyata.
Penutup
Ini gambaran utuhnya dalam satu tempat:
- Sistem berkas adalah cara sebuah OS menata dan melacak file di disk; versi Linux-nya itulah yang kita maksud dengan “sistem berkas Linux.”
- Linux tidak punya huruf drive. Semuanya tinggal di satu pohon yang dimulai dari root, ditulis
/. Drive tambahan di-mount ke folder di dalam pohon itu. - Folder-folder utama punya tugasnya masing-masing:
/etcuntuk konfigurasi,/homeuntuk file user,/var/loguntuk log,/usruntuk software terpasang,/tmpuntuk coret-coretan,/bindan/sbinuntuk perintahnya itu sendiri. - Sebuah path menunjuk titik di dalam pohon. Path absolut dimulai dari
/; path relatif dimulai dari posisimu, memakai.(di sini) dan..(naik satu). - Filosofi “semuanya adalah file” di Linux berarti bahkan perangkat dan informasi sistem muncul sebagai entri mirip file, dan itulah yang bikin sistemnya terasa begitu konsisten.
Sekarang setelah petanya masuk akal, langkah berikutnya yang wajar adalah belajar benar-benar berkeliling di dalamnya lewat command line — berpindah antar-folder, melihat daftar isinya, dan menemukan jalan tanpa peramban berkas grafis.