Perintah Dasar Linux (Debian)
Manajemen File
Section titled “Manajemen File”| Perintah | Deskripsi | Contoh Penggunaan |
|---|---|---|
ls | List directory. Melihat isi folder. | ls -l (detail), ls -a (hidden) |
cd | Change directory. Pindah folder. | cd /etc/network, cd .. (kembali) |
mkdir | Make directory. Membuat folder baru. | mkdir data_sekolah |
cp | Copy. Menyalin file/folder. | cp file.txt /home/ |
mv | Move. Memindahkan atau rename file. | mv file.txt data.txt |
rm | Remove. Menghapus file. | rm file.txt, rm -rf folder/ |
nano | Text editor CLI paling umum. | nano /etc/network/interfaces |
cat | Melihat isi file tanpa membuka editor. | cat /etc/resolv.conf |
chmod | Mengubah permission file. | chmod 777 script.sh |
chown | Mengubah kepemilikan (owner) file. | chown www-data:www-data index.html |
Konfigurasi Jaringan
Section titled “Konfigurasi Jaringan”| Perintah | Deskripsi | Contoh Penggunaan |
|---|---|---|
ip a | Cek IP Address (pengganti ifconfig). | ip a |
nano /etc/network/interfaces | Edit konfigurasi IP statis/dinamis. | nano /etc/network/interfaces |
systemctl restart networking | Restart service network (Debian). | systemctl restart networking |
/etc/init.d/networking restart | Restart network (cara lama/SysVinit). | /etc/init.d/networking restart |
ping | Cek koneksi ke host lain. | ping 8.8.8.8, ping google.com |
ip route | Cek tabel routing/gateway. | ip route show |
nslookup | Cek DNS resolve (perlu install dnsutils). | nslookup tkj.web.id |
resolv.conf | File konfigurasi DNS Resolver. | nano /etc/resolv.conf |
Manajemen User
Section titled “Manajemen User”| Perintah | Deskripsi | Contoh Penggunaan |
|---|---|---|
adduser | Tambah user baru (lebih interaktif). | adduser siswa |
useradd | Tambah user manual (tanpa home dir). | useradd -m siswa |
deluser | Hapus user. | deluser siswa |
passwd | Ganti password user. | passwd root |
su | Switch User. Pindah user. | su - (jadi root), su siswa |
whoami | Cek user yang sedang aktif. | whoami |
sudo | Menjalankan perintah sebagai root. | sudo apt update |
Informasi Sistem & Paket
Section titled “Informasi Sistem & Paket”| Perintah | Deskripsi | Contoh Penggunaan |
|---|---|---|
apt update | Update daftar paket repository. | apt update |
apt install | Install aplikasi/paket baru. | apt install apache2 |
apt remove | Hapus aplikasi. | apt remove apache2 |
systemctl status | Cek status service berjalan/mati. | systemctl status bind9 |
htop / top | Task manager. Cek penggunaan CPU/RAM. | htop |
df -h | Cek sisa kapasitas harddisk. | df -h |
free -h | Cek penggunaan RAM. | free -h |
reboot | Restart komputer. | reboot |
poweroff | Mematikan komputer. | poweroff |
history | Melihat riwayat perintah yang diketik. | history |
Perintah Jaringan Lanjutan
Section titled “Perintah Jaringan Lanjutan”# Cek semua interface dan IPip addr showip -br addr
# Tambah IP sementaraip addr add 192.168.1.100/24 dev eth0
# Hapus IPip addr del 192.168.1.100/24 dev eth0
# Tambah routeip route add 10.0.0.0/8 via 192.168.1.1
# Lihat routing tableip route show
# Monitor koneksi aktifss -tulnpnetstat -tulnp
# Cek port terbukanmap -sV localhostManajemen Service (systemd)
Section titled “Manajemen Service (systemd)”# Status servicesystemctl status nginx
# Start/stop/restartsystemctl start apache2systemctl stop apache2systemctl restart apache2
# Enable/disable (otomatis start)systemctl enable sshsystemctl disable telnet
# Lihat semua service aktifsystemctl list-units --type=service --state=running
# Reload konfigurasi tanpa restartsystemctl reload nginx
# Log servicejournalctl -u nginx -fjournalctl -u apache2 --since "1 hour ago"Manajemen File dan Direktori
Section titled “Manajemen File dan Direktori”# Navigasils -la # list dengan permissioncd /etc # pindah direktoripwd # lokasi sekarang
# Buat/hapusmkdir -p /srv/data/tkj # buat direktorirm -rf /tmp/old # hapus direktoricp -r /src /dst # copy rekursifmv file.txt /tmp/ # pindah file
# Cari filefind /etc -name "*.conf"find / -type f -name "sshd_config"locate nginx.conf
# Lihat isi filecat /etc/hostsless /var/log/sysloghead -20 /var/log/auth.logtail -f /var/log/syslog # real-timePermission dan Ownership
Section titled “Permission dan Ownership”# Lihat permissionls -la
# Ubah permission (numeric)chmod 755 /var/www/htmlchmod 600 ~/.ssh/id_rsachmod -R 644 /srv/samba/public
# Ubah ownershipchown www-data:www-data /var/www/htmlchown -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-)Text Processing
Section titled “Text Processing”# grep — cari teksgrep "error" /var/log/sysloggrep -r "ServerName" /etc/apache2/grep -i "failed" /var/log/auth.log # case insensitivegrep -n "Port" /etc/ssh/sshd_config # tampilkan nomor baris
# sed — stream editorsed -i 's/old/new/g' file.txt # replace tekssed -n '10,20p' file.txt # print baris 10-20
# awkawk '{print $1}' access.log # print kolom pertamaawk -F: '{print $1}' /etc/passwd # print username
# cutcut -d: -f1 /etc/passwd # ambil field pertamaPackage Management
Section titled “Package Management”# Debian/Ubuntu (apt)apt update # update daftar paketapt upgrade # upgrade semua paketapt install nginx # install paketapt remove nginx # hapus paketapt purge nginx # hapus + konfigurasiapt autoremove # hapus dependensi tidak terpakaiapt search bind # cari paketdpkg -l # list paket terinstalldpkg -i package.deb # install dari file .deb
# CentOS/RHEL (yum/dnf)yum install httpddnf install nginxrpm -qa # list semua paketUser dan Group Management
Section titled “User dan Group Management”# Tambah useruseradd -m -s /bin/bash usernamepasswd username
# Tambah ke groupusermod -aG sudo usernameusermod -aG www-data username
# Hapus useruserdel -r username # -r hapus home dir
# Info userid usernamegroups usernamewhoami
# Ganti ke user lainsu - usernamesudo -i # ke root
# Lihat semua usercat /etc/passwdgetent passwdCron Job
Section titled “Cron Job”# Edit crontab usercrontab -e
# Format: menit jam hari bulan hari-minggu perintah# Contoh:0 2 * * * /usr/bin/apt update # Update apt jam 2 pagi setiap hari30 6 * * 1-5 /home/user/backup.sh # Backup jam 6:30 Senin-Jumat*/15 * * * * /usr/local/bin/check.sh # Setiap 15 menit0 0 1 * * /scripts/monthly.sh # Tanggal 1 setiap bulan
# Lihat crontabcrontab -l
# Hapus crontabcrontab -r
# System cronls /etc/cron.d/ls /etc/cron.daily/