Skip to content

Perintah Dasar Linux (Debian)

PerintahDeskripsiContoh Penggunaan
lsList directory. Melihat isi folder.ls -l (detail), ls -a (hidden)
cdChange directory. Pindah folder.cd /etc/network, cd .. (kembali)
mkdirMake directory. Membuat folder baru.mkdir data_sekolah
cpCopy. Menyalin file/folder.cp file.txt /home/
mvMove. Memindahkan atau rename file.mv file.txt data.txt
rmRemove. Menghapus file.rm file.txt, rm -rf folder/
nanoText editor CLI paling umum.nano /etc/network/interfaces
catMelihat isi file tanpa membuka editor.cat /etc/resolv.conf
chmodMengubah permission file.chmod 777 script.sh
chownMengubah kepemilikan (owner) file.chown www-data:www-data index.html
PerintahDeskripsiContoh Penggunaan
ip aCek IP Address (pengganti ifconfig).ip a
nano /etc/network/interfacesEdit konfigurasi IP statis/dinamis.nano /etc/network/interfaces
systemctl restart networkingRestart service network (Debian).systemctl restart networking
/etc/init.d/networking restartRestart network (cara lama/SysVinit)./etc/init.d/networking restart
pingCek koneksi ke host lain.ping 8.8.8.8, ping google.com
ip routeCek tabel routing/gateway.ip route show
nslookupCek DNS resolve (perlu install dnsutils).nslookup tkj.web.id
resolv.confFile konfigurasi DNS Resolver.nano /etc/resolv.conf
PerintahDeskripsiContoh Penggunaan
adduserTambah user baru (lebih interaktif).adduser siswa
useraddTambah user manual (tanpa home dir).useradd -m siswa
deluserHapus user.deluser siswa
passwdGanti password user.passwd root
suSwitch User. Pindah user.su - (jadi root), su siswa
whoamiCek user yang sedang aktif.whoami
sudoMenjalankan perintah sebagai root.sudo apt update
PerintahDeskripsiContoh Penggunaan
apt updateUpdate daftar paket repository.apt update
apt installInstall aplikasi/paket baru.apt install apache2
apt removeHapus aplikasi.apt remove apache2
systemctl statusCek status service berjalan/mati.systemctl status bind9
htop / topTask manager. Cek penggunaan CPU/RAM.htop
df -hCek sisa kapasitas harddisk.df -h
free -hCek penggunaan RAM.free -h
rebootRestart komputer.reboot
poweroffMematikan komputer.poweroff
historyMelihat riwayat perintah yang diketik.history
Terminal window
# Cek semua interface dan IP
ip addr show
ip -br addr
# Tambah IP sementara
ip addr add 192.168.1.100/24 dev eth0
# Hapus IP
ip addr del 192.168.1.100/24 dev eth0
# Tambah route
ip route add 10.0.0.0/8 via 192.168.1.1
# Lihat routing table
ip route show
# Monitor koneksi aktif
ss -tulnp
netstat -tulnp
# Cek port terbuka
nmap -sV localhost
Terminal window
# Status service
systemctl status nginx
# Start/stop/restart
systemctl start apache2
systemctl stop apache2
systemctl restart apache2
# Enable/disable (otomatis start)
systemctl enable ssh
systemctl disable telnet
# Lihat semua service aktif
systemctl list-units --type=service --state=running
# Reload konfigurasi tanpa restart
systemctl reload nginx
# Log service
journalctl -u nginx -f
journalctl -u apache2 --since "1 hour ago"
Terminal window
# Navigasi
ls -la # list dengan permission
cd /etc # pindah direktori
pwd # lokasi sekarang
# Buat/hapus
mkdir -p /srv/data/tkj # buat direktori
rm -rf /tmp/old # hapus direktori
cp -r /src /dst # copy rekursif
mv file.txt /tmp/ # pindah file
# Cari file
find /etc -name "*.conf"
find / -type f -name "sshd_config"
locate nginx.conf
# Lihat isi file
cat /etc/hosts
less /var/log/syslog
head -20 /var/log/auth.log
tail -f /var/log/syslog # real-time
Terminal window
# Lihat permission
ls -la
# Ubah permission (numeric)
chmod 755 /var/www/html
chmod 600 ~/.ssh/id_rsa
chmod -R 644 /srv/samba/public
# Ubah ownership
chown www-data:www-data /var/www/html
chown -R ftpuser:ftpuser /home/ftpuser
# Mode permission:
# r=4, w=2, x=1
# 755 = rwxr-xr-x (owner: rwx, group: r-x, other: r-x)
# 644 = rw-r--r-- (owner: rw-, group: r--, other: r--)
# 600 = rw------- (owner: rw-)
Terminal window
# grep — cari teks
grep "error" /var/log/syslog
grep -r "ServerName" /etc/apache2/
grep -i "failed" /var/log/auth.log # case insensitive
grep -n "Port" /etc/ssh/sshd_config # tampilkan nomor baris
# sed — stream editor
sed -i 's/old/new/g' file.txt # replace teks
sed -n '10,20p' file.txt # print baris 10-20
# awk
awk '{print $1}' access.log # print kolom pertama
awk -F: '{print $1}' /etc/passwd # print username
# cut
cut -d: -f1 /etc/passwd # ambil field pertama
Terminal window
# Debian/Ubuntu (apt)
apt update # update daftar paket
apt upgrade # upgrade semua paket
apt install nginx # install paket
apt remove nginx # hapus paket
apt purge nginx # hapus + konfigurasi
apt autoremove # hapus dependensi tidak terpakai
apt search bind # cari paket
dpkg -l # list paket terinstall
dpkg -i package.deb # install dari file .deb
# CentOS/RHEL (yum/dnf)
yum install httpd
dnf install nginx
rpm -qa # list semua paket
Terminal window
# Tambah user
useradd -m -s /bin/bash username
passwd username
# Tambah ke group
usermod -aG sudo username
usermod -aG www-data username
# Hapus user
userdel -r username # -r hapus home dir
# Info user
id username
groups username
whoami
# Ganti ke user lain
su - username
sudo -i # ke root
# Lihat semua user
cat /etc/passwd
getent passwd
Terminal window
# Edit crontab user
crontab -e
# Format: menit jam hari bulan hari-minggu perintah
# Contoh:
0 2 * * * /usr/bin/apt update # Update apt jam 2 pagi setiap hari
30 6 * * 1-5 /home/user/backup.sh # Backup jam 6:30 Senin-Jumat
*/15 * * * * /usr/local/bin/check.sh # Setiap 15 menit
0 0 1 * * /scripts/monthly.sh # Tanggal 1 setiap bulan
# Lihat crontab
crontab -l
# Hapus crontab
crontab -r
# System cron
ls /etc/cron.d/
ls /etc/cron.daily/