1. Navigasi & Eksplorasi Sistem Berkas
# Mengetahui letak direktori saat ini (Print Working Directory)
pwd
# Berpindah direktori
cd /var/log # Pindah ke direktori absolut /var/log
cd .. # Naik satu tingkat ke direktori atas
cd ~ # Kembali ke home directory user saat ini
cd - # Kembali ke direktori sebelumnya yang baru ditinggalkan
# Melihat isi direktori (List)
ls # Menampilkan file standar
ls -l # Menampilkan rincian detail (permissions, size, owner, date)
ls -la # Menampilkan SEMUA file (termasuk file tersembunyi berawalan titik .)
ls -lh # Menampilkan ukuran file dalam format yang mudah dibaca manusia (KB, MB, GB)
ls -lt # Mengurutkan file berdasarkan waktu modifikasi terbaru
ls -lR # Menampilkan isi direktori secara rekursif hingga ke subfolder terdalam
# Pohon hierarki direktori (memerlukan paket tree: apt install tree)
tree -L 2 /var # Menampilkan visualisasi pohon direktori hingga kedalaman 2 level
2. Manipulasi Berkas & Direktori (CRUD File)
# Membuat berkas kosong baru
touch catatan.txt
# Membuat direktori baru
mkdir data
mkdir -p proyek/backend/src # Opsi -p membuat folder induk secara otomatis jika belum ada
# Menyalin berkas & direktori (Copy)
cp file.txt /tmp/ # Salin file ke folder /tmp
cp file.txt file_backup.txt # Gandakan file dengan nama baru
cp -r folder1/ folder_tujuan/ # Opsi -r wajib untuk menyalin direktori beserta seluruh isinya
# Memindahkan atau Mengganti Nama (Move / Rename)
mv laporan_lama.txt laporan_baru.txt # Mengganti nama berkas
mv file.txt /opt/ # Memindahkan file ke folder /opt
# Menghapus berkas & direktori (Remove - HATI-HATI!)
rm file.txt # Menghapus berkas
rm -i file.txt # Menghapus dengan konfirmasi (Yes/No)
rm -r folder_lama/ # Menghapus direktori beserta isinya
rm -rf /path/ke/folder_sampah # Menghapus paksa (force) tanpa konfirmasi
# Menautkan file (Links)
ln -s /etc/nginx/sites-available/web /etc/nginx/sites-enabled/ # Membuat Symbolic Link (Shortcut)
3. Membaca & Memanipulasi Isi Berkas
# Menampilkan seluruh isi file ke terminal
cat /etc/os-release
# Membaca file dengan paginasi (bisa scroll naik turun, tekan 'q' untuk keluar)
less /var/log/syslog
# Melihat baris awal dan baris akhir
head -n 20 file.txt # Menampilkan 20 baris pertama
tail -n 50 file.txt # Menampilkan 50 baris terakhir
tail -f /var/log/nginx/access.log # Mengikuti perubahan log secara real-time (Follow)
# Menghitung jumlah baris, kata, dan karakter
wc -l file.txt # Menghitung total jumlah baris
# Mencari kata di dalam berkas (Global Regular Expression Print)
grep "error" /var/log/syslog # Mencari baris yang mengandung kata "error"
grep -i "error" /var/log/syslog # Pencarian tidak sensitif huruf besar/kecil (Case-Insensitive)
grep -rn "API_KEY" /opt/myapp/ # Mencari rekursif di seluruh subfolder beserta nomor baris
grep -v "DEBUG" app.log # Menampilkan semua baris KECUALI yang mengandung kata DEBUG
# Memotong kolom teks (Cut) & Mengurutkan (Sort & Uniq)
cut -d: -f1 /etc/passwd # Mengambil kolom ke-1 yang dipisahkan tanda titik dua (daftar username)
sort list.txt # Mengurutkan baris secara alfabetis
sort list.txt | uniq # Mengurutkan dan membuang baris duplikat
4. Manajemen Hak Akses & Kepemilikan (Permissions)
Format izin file Linux terdiri dari 3 kelompok: User (u), Group (g), dan Others (o) dengan hak Read (4), Write (2), dan Execute (1).# Mengubah izin berkas (Change Mode)
chmod 755 skrip.sh # rwxr-xr-x (Pemilik bebas eksekusi, orang lain hanya baca & jalankan)
chmod 600 id_rsa # rw------- (Hanya pemilik yang boleh baca & tulis, standar kunci SSH)
chmod +x deploy.sh # Menambahkan izin eksekusi (+x) agar berkas bisa dijalankan
chmod -R 775 /var/www/html # Menerapkan izin secara rekursif ke seluruh subfolder
# Mengubah pemilik dan grup (Change Owner)
chown debian-user file.txt # Mengubah pemilik menjadi debian-user
chown debian-user:www-data file.txt # Mengubah pemilik sekaligus grup
chown -R www-data:www-data /var/www/html # Mengubah kepemilikan web root secara rekursif
5. Manajemen Proses & Sumber Daya Sistem
# Melihat proses yang sedang berjalan
ps aux # Menampilkan snapshot seluruh proses sistem
ps aux | grep nginx # Mencari PID (Process ID) dari layanan Nginx
pgrep -l nginx # Menampilkan PID Nginx dengan cepat
# Monitoring sistem interaktif real-time
top # Monitor proses standar bawaan kernel
htop # Monitor interaktif modern berwarna (apt install htop)
# Menghentikan proses (Kill)
kill 1234 # Mengirim sinyal SIGTERM (3) secara halus ke PID 1234
kill -9 1234 # Mengirim sinyal SIGKILL (paksa mati seketika)
killall nginx # Mematikan semua proses yang bernama nginx
# Mengecek sisa RAM dan Harddisk
free -m # Melihat penggunaan RAM dalam Megabyte
free -h # Melihat penggunaan RAM dalam format terbaca manusia (Human-readable)
df -h # Melihat kapasitas partisi harddisk yang terpasang
du -sh /var/log/* # Melihat ukuran folder spesifik untuk mencari penyebab disk penuh
# Informasi Perangkat Keras
lscpu # Informasi detail prosesor CPU
lsblk # Daftar partisi blok harddisk dan flashdisk
lspci # Daftar komponen slot motherboard (GPU, Kartu LAN)
lsusb # Daftar perangkat USB yang terhubung
uname -a # Menampilkan versi arsitektur dan versi kernel Linux
uptime # Mengetahui berapa lama server menyala dan rata-rata beban (Load Average)
6. Jaringan & Konektivitas
# Konfigurasi IP & Antarmuka Jaringan
ip addr show # Menampilkan alamat IP semua kartu jaringan (menggantikan ifconfig lama)
ip route # Menampilkan default gateway dan tabel routing
ip link set eth0 up # Menyalakan antarmuka jaringan eth0
# Uji Koneksi & Resolusi DNS
ping -c 4 8.8.8.8 # Mengirim paket ICMP 4 kali ke Google DNS
nslookup google.com # Memeriksa resolusi nama domain ke IP
dig google.com +short # Pemeriksaan DNS tingkat lanjut
traceroute google.com # Melacak jalur router hop yang dilewati paket
# Memeriksa Port yang Sedang Terbuka (Listening)
ss -tulpn # Menampilkan seluruh port TCP/UDP yang sedang dibuka beserta PID aplikasinya
# (Opsi legendaris pengganti netstat -tulpn)
# Mentransfer & Mengunduh File
curl -I https://google.com # Mengambil header HTTP server
curl -O https://example.com/file.zip # Mengunduh file via curl
wget https://example.com/file.zip # Mengunduh file di background
7. Pengarsipan & Kompresi Berkas
# Format Tar & Gzip (.tar.gz)
tar -czvf arsip.tar.gz /folder/data/ # Membuat arsip baru (-c), kompresi gzip (-z), verbose (-v), file (-f)
tar -xzvf arsip.tar.gz # Mengekstrak seluruh isi arsip tar.gz
tar -tzvf arsip.tar.gz # Melihat isi berkas di dalam arsip tanpa mengekstraknya
# Format Zip
zip -r arsip.zip /folder/data/ # Mengompres folder ke format zip
unzip arsip.zip # Mengekstrak file zip
8. Pencarian Canggih di Seluruh Sistem (find)
Perintah find adalah pisau bedah paling ampuh untuk menemukan file berdasarkan kriteria apa pun:
# Mencari file berdasarkan nama di seluruh sistem
find / -name "nginx.conf" 2>/dev/null
# Mencari file yang berukuran lebih besar dari 500MB (sangat berguna saat disk 100% penuh!)
find /var/log -type f -size +500M
# Mencari file yang dimodifikasi dalam 24 jam terakhir
find /home -mtime -1
# Mencari file dengan permission 777 yang berbahaya
find /var/www -type f -perm 0777
# Mencari file berekstensi .log lalu LANGSUNG MENGHAPUSNYA (-exec)
find /var/log/myapp -type f -name "*.log" -exec rm -f {} +