Linux Filesystem, Path, File, dan Directory
Memahami hierarki filesystem Linux, perbedaan path absolut dan relatif, serta operasi file dan direktori yang aman.
Linux memiliki struktur direktori yang terstandar. Memahami filesystem, path, dan operasi file akan membuat Anda lebih cepat menemukan konfigurasi, log, dan data aplikasi.
Hierarki Filesystem (FHS)
| Direktori | Fungsi |
|---|---|
/ | Root dari seluruh filesystem |
/bin, /usr/bin | Perintah dasar dan aplikasi |
/sbin, /usr/sbin | Perintah administrasi |
/etc | Konfigurasi sistem |
/home | Direktori pengguna |
/root | Home user root |
/var | Data yang berubah: log, cache, database |
/tmp | File sementara |
/opt | Aplikasi pihak ketiga |
/srv | Data layanan (web, FTP) |
/mnt, /media | Mount manual dan media |
/proc, /sys | Virtual filesystem untuk kernel |
/dev | Perangkat (disk, tty) |
Path absolut vs relatif
- Absolut — dimulai dari
/, contoh/etc/nginx/nginx.conf. - Relatif — bergantung direktori kerja, contoh
nginx.confatau../logs/app.log.
pwd # /home/deploy
cd /etc/nginx # absolut
cd sites-enabled # relatif dari /etc/nginx
cd .. # naik satu level
cd ~ # ke home
cd - # kembali ke direktori sebelumnyaSimbol path penting
| Simbol | Arti |
|---|---|
. | Direktori saat ini |
.. | Direktori induk |
~ | Home user aktif |
- | Direktori sebelumnya |
* | Wildcard banyak karakter |
? | Wildcard satu karakter |
Operasi file dan direktori
mkdir -p /srv/app/logs
touch /srv/app/logs/app.log
cp /etc/nginx/nginx.conf /srv/app/nginx.conf.bak
mv /srv/app/nginx.conf.bak /srv/app/backup/
rm /srv/app/logs/app.log
rm -r /srv/app/backupHati-hati dengan rm -rf
rm -rf menghapus tanpa konfirmasi dan tidak memindahkan file ke trash. Periksa path dua kali,
terutama saat menggunakan variabel atau wildcard.
Melihat isi file
cat /etc/hostname
less /var/log/syslog
head -n 20 /etc/passwd
tail -n 50 /var/log/auth.log
tail -f /var/log/nginx/access.logtail -f sangat berguna saat memantau log secara langsung. Tekan Ctrl+C untuk berhenti.
Mencari file dan teks
find /etc -type f -name "*.conf"
find /var/log -type f -size +100M
grep -Rni "server_name" /etc/nginxOpsi grep | Arti |
|---|---|
-R | Rekursif ke subdirektori |
-n | Tampilkan nomor baris |
-i | Abaikan huruf besar/kecil |
-v | Tampilkan baris yang tidak cocok |
Link: hard link dan symbolic link
ln file.txt hardlink.txt
ln -s /srv/app/current /srv/app/releases/v1
ls -l- Hard link — nama lain untuk inode yang sama, tidak bisa lintas filesystem.
- Symbolic link — pointer ke path lain, bisa lintas filesystem dan sering dipakai untuk
deployment
current.
Disk dan mount
lsblk
df -hT
du -sh /var/log
mount | column -t
findmntMenambahkan disk baru secara permanen:
mkfs.ext4 /dev/sdb1
mkdir -p /mnt/data
blkid /dev/sdb1
nano /etc/fstabIsi /etc/fstab:
UUID=xxxx-xxxx /mnt/data ext4 defaults 0 2Gunakan UUID agar tidak berubah saat urutan disk berubah. Uji dengan:
mount -a
df -h /mnt/dataPraktik: menyusun direktori aplikasi
mkdir -p /srv/app/{releases,shared,logs}
cd /srv/app
echo "v1" > releases/v1.txt
ln -s /srv/app/releases/v1.txt current
ls -l
readlink currentStruktur ini meniru pola deployment sederhana: rilis baru disimpan di releases, lalu symlink
current diarahkan ke rilis aktif.
Ringkasan
- Linux memakai satu hierarki root dengan direktori sesuai fungsi (FHS).
- Path absolut dimulai dari
/; path relatif bergantung posisi saat ini. - Operasi file berbahaya seperti
rm -rfharus dilakukan dengan hati-hati. df,du,lsblk, danfstabmembantu mengelola kapasitas dan mount.
Selanjutnya
Atur siapa yang boleh mengakses file di Linux Users, Groups, dan Permissions.
Linux Server dan Basic Command Line (Praktik pada VM/LXC Proxmox)
Mengenal Linux server, struktur perintah, dan perintah dasar command line yang dipraktikkan langsung di VM atau LXC Proxmox.
Linux Users, Groups, dan Permissions
Mengelola user dan group, memahami permission rwx, chmod, chown, umask, sudo, dan ACL untuk keamanan server.