Panduan Dasar Perintah Linux untuk Administrasi Server

Linux adalah sistem operasi yang menjadi fondasi sebagian besar server di dunia. Memahami perintah Linux adalah keterampilan paling penting bagi siapa pun yang mengelola server. Artikel ini membahas perintah-perintah dasar Linux yang wajib diketahui oleh setiap pemula.

Pengertian Terminal dan Command Line

Terminal adalah antarmuka berbasis teks untuk berinteraksi dengan Linux. Alih-alih mengklik ikon, Anda mengetik perintah. Terminal sangat powerful karena memungkinkan Anda melakukan banyak hal sekaligus dengan satu baris perintah.

Mengapa Belajar Linux CLI?

  • Lebih Cepat: Satu perintah bisa menggantikan puluhan klik
  • Remote Access: Mengelola server dari mana saja via SSH
  • Scripting: Otomatisasi tugas berulang dengan script bash
  • Tidak Bergantung GUI: Server tanpa layar pun bisa dikelola
  • Semua Server: Cloud, VPS, dan container semuanya berbasis Linux

Navigating Filesystem

Struktur Filesystem Linux

kode
/ (root)
├── bin/          # Perintah dasar
├── boot/         # File boot
├── dev/          # Device files
├── etc/          # File konfigurasi
├── home/         # Direktori pengguna
├── var/          # Data variabel (log, database)
├── tmp/          # File sementara
├── usr/          # Program aplikasi
└── root/         # Direktori root

Perintah Navigasi Dasar

bash
# Lihat direktori saat ini
pwd

# Daftar isi direktori
ls
ls -l          # Detail (permission, ukuran, tanggal)
ls -la         # Semua file termasuk hidden
ls -lh         # Ukuran dalam format human-readable

# Pindah ke direktori lain
cd /var/www
cd ..          # Naik satu level
cd ~           # Ke home directory
cd -           # Kembali ke direktori sebelumnya

Contoh Navigasi

bash
# Navigasi ke direktori website
cd /var/www/masyarakat
pwd
ls -la

# Navigasi ke direktori log
cd /var/log
ls -lh

Manajemen File

Membuat dan Menghapus File

bash
# Buat file kosong
touch index.html
touch style.css script.js

# Buat direktori
mkdir assets
mkdir -p images/uploads/avatar  # Buat nested directory

# Salin file
cp index.html index.html.bak
cp -r assets/ assets-backup/    # Salin direktori

# Pindahkan file
mv index.html /var/www/masyarakat/
mv old-name.txt new-name.txt

# Hapus file
rm index.html
rm -r assets/           # Hapus direktori
rm -rf assets/          # Paksa hapus tanpa konfirmasi

Melihat Isi File

bash
# Lihat seluruh isi file
cat index.html

# Lihat dari baris pertama
head -20 index.html

# Lihat dari baris terakhir
tail -20 /var/log/syslog

# Lihat secara interaktif (scroll)
less index.html

# Cari teks dalam file
grep "error" /var/log/syslog
grep -i "warning" /var/log/syslog
grep -rn "function" /var/www/masyarakat/

Contoh Praktis

bash
# Backup semua file HTML
cp *.html backup/

# Cari file yang mengandung "database"
find /var/www -name "*.php" | xargs grep -l "database"

# Lihat 10 baris terakhir log
tail -10 /var/log/nginx/error.log

# Hitung jumlah baris
wc -l index.html

Permission dan Ownership

Memahami Permission Linux

Setiap file memiliki 3 jenis permission untuk 3 jenis pengguna:

kode
Permission: rwx rwx rwx
            |  |  |
            |  |  └── Others (semua pengguna lain)
            |  └───── Group (grup pengguna)
            └───────── Owner (pemilik file)
HurufMaknaAngka
rRead (baca)4
wWrite (tulis)2
xExecute (jalankan)1
-Tidak ada permission0

Contoh: rwxr-xr-x = 755

Mengelola Permission

bash
# Lihat permission
ls -l index.html

# Ubah permission
chmod 755 index.html      # rwxr-xr-x
chmod 644 style.css       # rw-r--r--
chmod +x script.sh        # Tambah execute permission
chmod -x script.sh        # Hapus execute permission
chmod 777 folder/         # Izinkan semua akses (hati-hati!)

# Mengubah owner
chown www-data:www-data index.html
chown -R www-data:www-data /var/www/masyarakat/

# Mengubah grup
chgrp www-data /var/www/masyarakat/

Contoh Praktis

bash
# Setup izin website standar
chown -R www-data:www-data /var/www/masyarakat
find /var/www/masyarakat -type d -exec chmod 755 {} \;
find /var/www/masyarakat -type f -exec chmod 644 {} \;

User dan Group Management

Membuat Pengguna

bash
# Buat pengguna baru
adduser sugeng

# Buat pengguna tanpa home directory
adduser --no-create-home editor

# Atur password pengguna
passwd sugeng

# Hapus pengguna
userdel sugeng
userdel -r sugeng          # Hapus juga home directory

Mengelola Group

bash
# Buat group baru
groupadd developers

# Tambahkan pengguna ke group
usermod -aG developers sugeng

# Lihat group pengguna
groups sugeng

# Lihat semua group
cat /etc/group

Contoh Praktis

bash
# Buat user untuk deployment
adduser deploy
usermod -aG www-data deploy
passwd deploy

# Cek aktivitas login terakhir
last

# Lihat pengguna yang sedang login
who
w

Manajemen Proses

Melihat Proses

bash
# Lihat semua proses
ps aux

# Proses dengan resource tinggi
ps aux --sort=-%cpu | head -10

# Lihat proses real-time
top
htop                  # Lebih lengkap (instal: apt install htop)

# Cari proses spesifik
ps aux | grep nginx
ps aux | grep node

Mengelola Proses

bash
# Berhenti proses
kill 1234              # Stop dengan PID 1234
kill -9 1234           # Force kill
killall nginx          # Stop semua proses nginx
pkill node             # Stop semua proses node

# Mulai ulang proses
systemctl restart nginx
systemctl stop nginx
systemctl start nginx

# Cek proses yang berjalan
systemctl list-units --type=service --state=running

Contoh Praktis

bash
# Cari proses yang menggunakan memori paling banyak
ps aux --sort=-%mem | head -5

# Kill semua proses yang menggunakan port 3000
kill $(lsof -t -i:3000)

# Restart semua layanan web
systemctl restart nginx
systemctl restart php-fpm

Manajemen Jaringan

Melihat Informasi Jaringan

bash
# Lihat alamat IP
ip addr
ip a show eth0

# Lihat koneksi aktif
ss -tlnp
ss -tulnp

# Ping ke server
ping google.com
ping -c 4 google.com    # 4 paket saja

# DNS lookup
nslookup masyarakat.id
dig masyarakat.id

# Trace route
traceroute google.com

Konfigurasi Firewall via CLI

bash
# Cek status UFW
ufw status verbose

# Buka port
ufw allow 80/tcp
ufw allow 443/tcp
ufw allow 22/tcp

# Aktifkan firewall
ufw enable

Contoh Praktis

bash
# Cek apakah port 80 terbuka
curl -I http://localhost

- Cek bandwidth jaringan
apt install iftop
iftop -i eth0

# Lihat koneksi dari luar
ss -tnp | grep ESTAB

Script Bash Dasar

Membuat Script Pertama

bash
nano backup.sh

Isi dengan:

bash
#!/bin/bash
# Script backup website
BACKUP_DIR="/backup"
DATE=$(date +%Y%m%d)
mkdir -p $BACKUP_DIR
tar -czf $BACKUP_DIR/website-$DATE.tar.gz /var/www/masyarakat/
echo "Backup selesai: website-$DATE.tar.gz"

Jalankan:

bash
chmod +x backup.sh
./backup.sh

Script dengan Kondisi

bash
#!/bin/bash
# Cek apakah Nginx berjalan
if systemctl is-active --quiet nginx; then
    echo "Nginx sedang berjalan ✅"
else
    echo "Nginx tidak berjalan ❌"
    systemctl start nginx
fi

Script dengan Loop

bash
#!/bin/bash
# Backup semua database
for db in db1 db2 db3; do
    mariadb-dump -u root -p'Secret' $db > /backup/$db-$(date +%Y%m%d).sql
    echo "Backup $db selesai"
done

Cron Job untuk Otomatisasi

bash
# Edit cron
crontab -e

# Tambahkan baris berikut:
# Backup setiap hari jam 2 pagi
0 2 * * * /usr/local/bin/backup.sh

# Update system setiap minggu
0 3 * * 0 apt update && apt upgrade -y

# Cek log setiap jam
0 * * * * tail -10 /var/log/syslog >> /var/log/check.log

Tips Penting untuk Pemula

1. Gunakan Tab Completion

Ketik separuh perintah atau path, lalu tekan Tab untuk auto-complete.

2. Gunakan History

bash
# Lihat riwayat perintah
history

# Jalankan perintah ke-5
!5

# Cari perintah yang mengandung "nginx"
!nginx

3. Gunakan Alias

bash
nano ~/.bashrc
# Tambahkan:
alias ll='ls -lah'
alias update='sudo apt update && sudo apt upgrade -y'
alias gs='git status'

4. Hati-hati dengan rm -rf

rm -rf / akan menghapus semua file di server. Selalu double-check sebelum menjalankan.

5. Backup Sebelum Mengedit

bash
cp file.conf file.conf.bak

Kesimpulan

Perintah Linux adalah fondasi semua administrasi server. Dengan menguasai navigasi filesystem, manajemen file, permission, user management, proses, jaringan, dan scripting bash, Anda akan mampu mengelola server Debian dengan percaya diri.

Kunci utama:

  • Latihan setiap hari — bahkan perintah sederhana sekalipun
  • Gunakan man [perintah] untuk melihat dokumentasi lengkap
  • Selalu backup sebelum melakukan perubahan
  • Catat perintah yang sering digunakan
  • Jangan takut bereksperimen di lingkungan non-produksi
Catatan penting: Jangan pernah menjalankan rm -rf / atau chmod 777 / — ini akan merusak server Anda. Selalu periksa kembali perintah sebelum menjalankan, terutama yang melibatkan hapus atau permission perubahan. Gunakan sudo hanya saat benar-benar diperlukan.
Ingat: Setiap administrator server hebat pernah menjadi pemula. Kuncinya adalah konsistensi dalam latihan. Mulailah dari perintah sederhana, kuasai satu per satu, dan perlahan Anda akan merasa nyaman dengan terminal Linux.
Dipublikasikan untuk membantu para pemula memulai perjalanan administrasi server Linux.

Artikel Terkait