Kuasai command-command ini dan kamu akan jauh lebih produktif di terminal. Artikel ini adalah referensi cepat yang bisa dibuka kapanpun kamu lupa syntax-nya.

📂 Navigasi & Manajemen File

Command Fungsi
pwdTampilkan direktori aktif saat ini
lsList file dan folder
ls -laList detail + hidden files
cd nama-folderMasuk ke folder
cd ..Naik satu level
cd ~Ke home directory
mkdir nama-folderBuat folder baru
mkdir -p a/b/cBuat folder nested sekaligus
rm file.txtHapus file
rm -rf folder/Hapus folder + isinya (hati-hati!)
cp sumber tujuanSalin file
cp -r folder/ tujuan/Salin folder beserta isinya
mv sumber tujuanPindah atau rename file/folder
touch namafileBuat file kosong / update timestamp
ln -s sumber linkBuat symbolic link

📄 Baca & Edit File

# Tampilkan isi file
cat file.txt

# Tampilkan dengan nomor baris
cat -n file.txt

# Hanya N baris pertama / terakhir
head -20 file.txt
tail -20 file.txt

# Pantau file yang terus berubah (real-time)
tail -f /var/log/nginx/error.log

# Editor teks di terminal
nano file.txt
vim file.txt

🔍 Cari File & Teks

# Cari file berdasarkan nama
find . -name "*.php"
find /var/www -name "config.php" -type f

# Cari teks dalam file (grep)
grep "kata kunci" file.txt
grep -r "function login" .          # rekursif di semua file
grep -n "error" app.log             # tampilkan nomor baris
grep -i "error" app.log             # case insensitive
grep -l "DB_HOST" .env.*            # hanya tampilkan nama file

# Cari + replace dengan sed
sed -i 's/localhost/192.168.1.10/g' config.php

# Hitung baris/kata/karakter
wc -l file.txt
wc -w file.txt

⚡ Proses & Resource

Command Fungsi
ps auxLihat semua proses yang berjalan
ps aux | grep phpFilter proses PHP
topMonitor proses real-time
htopMonitor proses versi lebih nyaman
kill PIDHentikan proses dengan ID
kill -9 PIDForce kill proses
pkill -f namaKill proses berdasarkan nama
df -hCek penggunaan disk
du -sh folder/Ukuran folder
free -hCek penggunaan RAM

🌐 Jaringan

# Ping
ping google.com
ping -c 4 google.com   # hanya 4 kali

# HTTP request
curl https://api.example.com/users
curl -X POST -H "Content-Type: application/json" \
  -d '{"name":"Budi"}' https://api.example.com/users
curl -o file.zip https://example.com/file.zip   # download

# Download file
wget https://example.com/installer.sh

# Lihat port yang digunakan
netstat -tlnp
ss -tlnp               # alternatif modern

# SSH ke server
ssh user@192.168.1.10
ssh -i ~/.ssh/id_rsa user@server.com

# Copy file ke/dari server
scp file.txt user@server:/var/www/html/
scp user@server:/var/log/app.log ./

🔒 Permission & User

# Ubah permission
chmod 755 file.sh         # rwxr-xr-x
chmod +x script.sh        # tambah execute
chmod -R 755 folder/      # rekursif

# Ubah owner
chown www-data:www-data file.php
chown -R www-data:www-data /var/www/html/

# Jalankan sebagai root
sudo command
sudo su                   # switch ke root

📦 Package Manager

# Ubuntu / Debian (apt)
sudo apt update
sudo apt install nginx
sudo apt remove nginx
sudo apt upgrade

# CentOS / RHEL (dnf/yum)
sudo dnf install nginx
sudo dnf remove nginx
sudo dnf update

🛠️ Utility

# Buat alias command pendek
alias ll='ls -la'
alias gs='git status'

# Simpan alias permanen (tambahkan ke ~/.bashrc atau ~/.zshrc)
echo "alias ll='ls -la'" >> ~/.bashrc
source ~/.bashrc

# Lihat history command
history
history | grep git         # filter

# Jalankan command sebelumnya
!!
!git                       # jalankan git command terakhir

# Tahu lokasi binary
which php
which node

# Cek variabel environment
env
echo $PATH
💡 Shortcut Terminal Penting

Ctrl+CHentikan proses yang sedang berjalan
Ctrl+ZSuspend proses (lanjutkan dengan fg)
Ctrl+A / Ctrl+EKe awal / akhir baris
Ctrl+RCari command di history
TabAuto-complete nama file / command