Cheat sheet

Perintah Linux: cheat sheet untuk pemula dan administrator

Diperbarui: · Skillaria.Top

Perintah dasar Linux dibagi menjadi beberapa kelompok: navigasi (pwd, ls, cd), pengelolaan berkas (cp, mv, rm, mkdir), hak akses (chmod, chown), paket (apt), proses (ps, top, kill), pencarian dan olah teks (find, grep, sed, awk), jaringan (ip, ss, curl), dan layanan (systemctl, journalctl). Di bawah ini tabel perintah dengan contoh yang menutup sebagian besar pekerjaan harian di terminal.

Cheat sheet perintah Linux ini disusun berdasarkan kelompok tugas: mencari berkas, memasang paket, menghentikan proses yang macet, mengambil satu baris dari log, atau memeriksa port. Perintah sudah diuji di Ubuntu dan Debian; hampir semuanya juga berjalan di distribusi lain, dengan perbedaan utama pada manajer paket.

Bantuan dan petunjuk

PerintahFungsi
man lspanduan lengkap sebuah perintah, keluar dengan q, mencari dengan /kata
ls --helpbantuan singkat tentang opsi
type cdapa itu: perintah bawaan shell, alias, atau berkas
which python3path ke berkas yang dapat dieksekusi
historyriwayat perintah; !123 mengulang perintah nomor 123
Ctrl+Rmencari dalam riwayat
Ctrl+C / Ctrl+Dmenghentikan perintah / menutup shell
PerintahFungsi
pwddirektori saat ini
ls -lasemua berkas termasuk yang tersembunyi, dengan hak akses dan ukuran
ls -lhukuran dalam format yang mudah dibaca (K, M, G)
ls -lturut berdasarkan waktu perubahan
cd /var/logpindah dengan path absolut
cd .. / cd ~ / cd -satu tingkat ke atas / ke home / ke direktori sebelumnya
tree -L 2pohon direktori sampai 2 tingkat (paket tree)

Bekerja dengan berkas dan direktori

PerintahFungsi
touch file.txtmembuat berkas kosong atau memperbarui waktu perubahannya
mkdir -p a/b/cmembuat direktori beserta induknya
cp file.txt backup.txtmenyalin berkas
cp -r src/ dst/menyalin direktori secara rekursif
mv old.txt new.txtmengganti nama atau memindahkan
rm file.txtmenghapus berkas (tanpa tong sampah)
rm -r dir/menghapus direktori beserta isinya; -f tanpa konfirmasi, hati-hati
rmdir dirmenghapus direktori kosong
ln -s /opt/app/current apptautan simbolik
stat file.txtdetail: ukuran, hak akses, inode, tanggal
file image.binmenentukan jenis berkas dari isinya

Melihat isi berkas

PerintahFungsi
cat filemenampilkan seluruh berkas
less filemelihat per halaman, cari /, keluar q
head -n 20 file20 baris pertama
tail -n 50 file50 baris terakhir
tail -f /var/log/syslogmemantau berkas secara real-time
wc -l filejumlah baris
diff a.conf b.confperbedaan antar berkas

Hak akses dan pemilik

PerintahFungsi
chmod +x script.shmengizinkan eksekusi
chmod 644 filerw-r--r--: pemilik menulis, yang lain membaca
chmod 755 dirrwxr-xr-x: lazim untuk direktori dan skrip
chmod 600 ~/.ssh/id_ed25519hanya pemilik: untuk kunci privat
sudo chown www-data:www-data filemengganti pemilik dan grup
sudo chown -R alice /srv/appmengganti pemilik secara rekursif
idUID, GID, dan grup Anda
sudo -ishell root
sudo usermod -aG docker alicemenambahkan pengguna ke grup

Paket (apt, Debian dan Ubuntu)

PerintahFungsi
sudo apt updatememperbarui daftar paket dari repositori
sudo apt upgradememperbarui paket yang terpasang
sudo apt install nginxmemasang paket
sudo apt remove nginxmenghapus, konfigurasi tetap disimpan; purge menghapus termasuk konfigurasi
sudo apt autoremovemenghapus dependensi yang tidak lagi dibutuhkan
apt search htopmencari paket
apt show nginxdeskripsi dan versi
dpkg -l | grep nginxmemeriksa apakah paket terpasang
dpkg -L nginxberkas apa saja yang dipasang paket

Di RHEL, Fedora, dan Rocky Linux, padanannya adalah dnf install, dnf remove, dnf upgrade, dan rpm -qa.

Lingkungan dan profil

PerintahFungsi
echo $PATHtempat shell mencari program
envsemua variabel lingkungan
export APP_ENV=prodmengatur variabel untuk sesi saat ini dan proses turunannya
alias ll='ls -la'singkatan perintah
source ~/.bashrcmemuat ulang profil tanpa keluar dan masuk lagi
crontab -e / crontab -lmengedit / menampilkan tugas cron

Proses

PerintahFungsi
ps auxsemua proses dengan pengguna, CPU, dan memori
ps aux | grep nginxmencari proses
pgrep -a nginxPID dan baris perintah berdasarkan nama
top / htopbeban sistem secara real-time
kill 1234meminta proses berhenti (SIGTERM)
kill -9 1234menghentikan paksa (SIGKILL) — jalan terakhir
pkill -f "python app.py"menghentikan proses yang cocok dengan baris perintahnya
command &, jobs, fgmenjalankan di latar belakang dan mengelola job
nohup ./job.sh &proses tetap berjalan setelah terminal ditutup
free -hmemori dan swap
uptimelama sistem menyala dan rata-rata beban
strace -p 1234system call yang dilakukan proses

Layanan dan log (systemd)

PerintahFungsi
systemctl status nginxstatus layanan dan beberapa baris log terakhir
sudo systemctl start|stop|restart nginxmenjalankan, menghentikan, memulai ulang
sudo systemctl reload nginxmemuat ulang konfigurasi tanpa menghentikan layanan
sudo systemctl enable --now nginxmengaktifkan autostart dan langsung menjalankan
systemctl --failedunit yang gagal
journalctl -u nginx -flog layanan secara real-time
journalctl -u nginx --since "1 hour ago"log satu jam terakhir
journalctl -p err -berror sejak boot terakhir

Mencari berkas

PerintahFungsi
find /var/log -name "*.log"mencari berdasarkan nama
find . -type f -mtime -1berkas yang diubah dalam 24 jam terakhir
find / -size +500M 2>/dev/nullberkas besar; error akses disembunyikan
find . -name "*.tmp" -deletemencari lalu menghapus
du -sh *ukuran setiap item dalam direktori
df -hruang kosong pada sistem berkas

Pencarian dan olah teks: grep, sed, awk, jq

PerintahFungsi
grep "error" app.logbaris yang mengandung kata tersebut
grep -i -n "error" app.logtanpa membedakan huruf besar-kecil, dengan nomor baris
grep -r "listen" /etc/nginx/rekursif dalam direktori
grep -v "DEBUG" app.logbaris yang tidak mengandung kata tersebut
grep -c "500" access.logjumlah kecocokan
grep -E "warn|error" app.logekspresi reguler yang diperluas
sed 's/old/new/g' filemengganti dan menampilkan hasilnya
sed -i 's/8080/9090/' app.confmengganti langsung di dalam berkas
sed -n '10,20p' filemenampilkan baris 10–20
awk '{print $1}' access.logkolom pertama setiap baris
awk -F: '{print $1}' /etc/passwdnama pengguna (pemisah :)
awk '$9 == 500' access.logbaris yang kolom kesembilannya bernilai 500
sort | uniq -c | sort -rnmenghitung pengulangan dan mengurutkan menurut frekuensi
cut -d, -f2 data.csvkolom kedua dari CSV
jq '.items[].name' data.jsonmengambil field dari JSON

Contoh pipeline: sepuluh alamat IP dengan jumlah permintaan terbanyak ke nginx.

awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head -10

Pengalihan dan pipeline

KonstruksiFungsi
cmd > out.txtmenulis keluaran ke berkas (menimpa)
cmd >> out.txtmenambahkan ke akhir berkas
cmd 2> err.txtmengalihkan error
cmd > all.log 2>&1keluaran dan error ke satu berkas
cmd1 | cmd2mengirim keluaran satu perintah sebagai masukan perintah lain
cmd | tee out.txtmenampilkan di layar sekaligus menyimpan
cmd1 && cmd2menjalankan perintah kedua hanya jika yang pertama berhasil
cmd1 || cmd2menjalankan perintah kedua jika yang pertama gagal

Arsip

PerintahFungsi
tar -czf backup.tar.gz dir/mengemas dan mengompresi dengan gzip
tar -xzf backup.tar.gzmengekstrak
tar -tzf backup.tar.gzmelihat isinya
zip -r site.zip site/ / unzip site.ziparsip zip

Jaringan

PerintahFungsi
ip aantarmuka dan alamat IP
ip rtabel rute
ping -c 4 8.8.8.8mengecek apakah host dapat dijangkau
ss -tulpnport yang terbuka beserta proses pemiliknya
dig example.com / nslookup example.comkueri DNS
curl -I https://example.comhanya header respons
curl -s https://api.example.com | jqpermintaan ke API dengan JSON yang rapi
wget URLmengunduh berkas
traceroute example.comjalur paket menuju host
ssh user@hostterhubung ke server
ssh-keygen -t ed25519membuat pasangan kunci SSH
scp file user@host:/tmp/menyalin berkas ke server
rsync -avz dir/ user@host:/srv/dir/menyinkronkan direktori
sudo ufw statusaturan firewall

Sistem dan disk

PerintahFungsi
uname -akernel dan arsitektur
cat /etc/os-releasedistribusi dan versinya
hostnamectlnama host dan informasi sistem
lsblkdisk dan partisi
sudo mount /dev/sdb1 /mntmemasang partisi
who / wsiapa yang sedang login
sudo reboot / sudo shutdown -h nowrestart / mematikan sistem

Kesimpulan

Untuk pekerjaan sehari-hari, cukup beberapa lusin perintah: ls, cd, cp, mv, rm, chmod, sudo, apt, ps, kill, systemctl, journalctl, grep, find, ss, curl, dan ssh. Simpan cheat sheet perintah Linux ini dan rujuk terus sampai perintah-perintah tersebut sudah otomatis. Semua kelompok perintah ini dibahas dengan praktik dalam kursus Linux.

Pertanyaan umum

Bagaimana cara keluar dari man atau less?

Tekan q. Untuk mencari di dalamnya, ketik garis miring diikuti kata yang dicari; n berpindah ke kecocokan berikutnya.

Bagaimana cara keluar dari editor vim?

Tekan Esc, lalu ketik :q! dan Enter untuk keluar tanpa menyimpan, atau :wq untuk menyimpan dan keluar. Pemula biasanya lebih mudah mengedit berkas dengan nano.

Mengapa rm -rf berbahaya?

Perintah itu menghapus tanpa konfirmasi dan tanpa tong sampah, sehingga satu kesalahan path (misalnya spasi yang salah sebelum tanda bintang) bisa menghapus direktori yang keliru. Periksa path dengan ls sebelum menjalankannya.

Bagaimana cara mengulang perintah terakhir dengan sudo?

Ketik sudo !! — shell akan menggantinya dengan perintah sebelumnya secara utuh.

Bagaimana cara menghentikan perintah yang macet di terminal?

Ctrl+C mengirim sinyal interupsi. Jika perintah tidak merespons, cari PID-nya dengan ps atau pgrep di terminal lain, lalu hentikan dengan kill.