Paket 1 · Fondasi DevOpsModul C — Linux Fundamentals

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)

DirektoriFungsi
/Root dari seluruh filesystem
/bin, /usr/binPerintah dasar dan aplikasi
/sbin, /usr/sbinPerintah administrasi
/etcKonfigurasi sistem
/homeDirektori pengguna
/rootHome user root
/varData yang berubah: log, cache, database
/tmpFile sementara
/optAplikasi pihak ketiga
/srvData layanan (web, FTP)
/mnt, /mediaMount manual dan media
/proc, /sysVirtual filesystem untuk kernel
/devPerangkat (disk, tty)

Path absolut vs relatif

  • Absolut — dimulai dari /, contoh /etc/nginx/nginx.conf.
  • Relatif — bergantung direktori kerja, contoh nginx.conf atau ../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 sebelumnya

Simbol path penting

SimbolArti
.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/backup

Hati-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.log

tail -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/nginx
Opsi grepArti
-RRekursif ke subdirektori
-nTampilkan nomor baris
-iAbaikan huruf besar/kecil
-vTampilkan baris yang tidak cocok
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
findmnt

Menambahkan disk baru secara permanen:

mkfs.ext4 /dev/sdb1
mkdir -p /mnt/data
blkid /dev/sdb1
nano /etc/fstab

Isi /etc/fstab:

UUID=xxxx-xxxx /mnt/data ext4 defaults 0 2

Gunakan UUID agar tidak berubah saat urutan disk berubah. Uji dengan:

mount -a
df -h /mnt/data

Praktik: 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 current

Struktur 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 -rf harus dilakukan dengan hati-hati.
  • df, du, lsblk, dan fstab membantu mengelola kapasitas dan mount.

Selanjutnya

Atur siapa yang boleh mengakses file di Linux Users, Groups, dan Permissions.

On this page