> ## Documentation Index
> Fetch the complete documentation index at: https://docs.skanesgalab.my.id/llms.txt
> Use this file to discover all available pages before exploring further.

# Kamus Komprehensif Perintah Dasar Linux & Kombinasinya

> Referensi lengkap perintah esensial Linux: navigasi, manipulasi berkas & direktori, manajemen user & permission, proses & sumber daya, jaringan, arsip, hingga kombinasi sakti.

Menguasai perintah Linux (*Linux Commands*) adalah keterampilan paling mendasar yang membedakan seorang pemula dengan SysAdmin dan DevOps engineer profesional.

Berikut referensi lengkap perintah-perintah Linux yang dikelompokkan berdasarkan fungsinya beserta contoh penggunaannya:

***

## 1. Navigasi & Eksplorasi Sistem Berkas

```bash theme={null}
# Mengetahui letak direktori saat ini (Print Working Directory)
pwd

# Berpindah direktori
cd /var/log          # Pindah ke direktori absolut /var/log
cd ..                # Naik satu tingkat ke direktori atas
cd ~                 # Kembali ke home directory user saat ini
cd -                 # Kembali ke direktori sebelumnya yang baru ditinggalkan

# Melihat isi direktori (List)
ls                   # Menampilkan file standar
ls -l                # Menampilkan rincian detail (permissions, size, owner, date)
ls -la               # Menampilkan SEMUA file (termasuk file tersembunyi berawalan titik .)
ls -lh               # Menampilkan ukuran file dalam format yang mudah dibaca manusia (KB, MB, GB)
ls -lt               # Mengurutkan file berdasarkan waktu modifikasi terbaru
ls -lR               # Menampilkan isi direktori secara rekursif hingga ke subfolder terdalam

# Pohon hierarki direktori (memerlukan paket tree: apt install tree)
tree -L 2 /var       # Menampilkan visualisasi pohon direktori hingga kedalaman 2 level
```

***

## 2. Manipulasi Berkas & Direktori (CRUD File)

```bash theme={null}
# Membuat berkas kosong baru
touch catatan.txt

# Membuat direktori baru
mkdir data
mkdir -p proyek/backend/src   # Opsi -p membuat folder induk secara otomatis jika belum ada

# Menyalin berkas & direktori (Copy)
cp file.txt /tmp/             # Salin file ke folder /tmp
cp file.txt file_backup.txt   # Gandakan file dengan nama baru
cp -r folder1/ folder_tujuan/ # Opsi -r wajib untuk menyalin direktori beserta seluruh isinya

# Memindahkan atau Mengganti Nama (Move / Rename)
mv laporan_lama.txt laporan_baru.txt # Mengganti nama berkas
mv file.txt /opt/                    # Memindahkan file ke folder /opt

# Menghapus berkas & direktori (Remove - HATI-HATI!)
rm file.txt                          # Menghapus berkas
rm -i file.txt                       # Menghapus dengan konfirmasi (Yes/No)
rm -r folder_lama/                   # Menghapus direktori beserta isinya
rm -rf /path/ke/folder_sampah        # Menghapus paksa (force) tanpa konfirmasi

# Menautkan file (Links)
ln -s /etc/nginx/sites-available/web /etc/nginx/sites-enabled/ # Membuat Symbolic Link (Shortcut)
```

***

## 3. Membaca & Memanipulasi Isi Berkas

```bash theme={null}
# Menampilkan seluruh isi file ke terminal
cat /etc/os-release

# Membaca file dengan paginasi (bisa scroll naik turun, tekan 'q' untuk keluar)
less /var/log/syslog

# Melihat baris awal dan baris akhir
head -n 20 file.txt         # Menampilkan 20 baris pertama
tail -n 50 file.txt         # Menampilkan 50 baris terakhir
tail -f /var/log/nginx/access.log # Mengikuti perubahan log secara real-time (Follow)

# Menghitung jumlah baris, kata, dan karakter
wc -l file.txt              # Menghitung total jumlah baris

# Mencari kata di dalam berkas (Global Regular Expression Print)
grep "error" /var/log/syslog          # Mencari baris yang mengandung kata "error"
grep -i "error" /var/log/syslog       # Pencarian tidak sensitif huruf besar/kecil (Case-Insensitive)
grep -rn "API_KEY" /opt/myapp/        # Mencari rekursif di seluruh subfolder beserta nomor baris
grep -v "DEBUG" app.log               # Menampilkan semua baris KECUALI yang mengandung kata DEBUG

# Memotong kolom teks (Cut) & Mengurutkan (Sort & Uniq)
cut -d: -f1 /etc/passwd               # Mengambil kolom ke-1 yang dipisahkan tanda titik dua (daftar username)
sort list.txt                         # Mengurutkan baris secara alfabetis
sort list.txt | uniq                  # Mengurutkan dan membuang baris duplikat
```

***

## 4. Manajemen Hak Akses & Kepemilikan (Permissions)

Format izin file Linux terdiri dari 3 kelompok: **User (u)**, **Group (g)**, dan **Others (o)** dengan hak **Read (4)**, **Write (2)**, dan **Execute (1)**.

```bash theme={null}
# Mengubah izin berkas (Change Mode)
chmod 755 skrip.sh          # rwxr-xr-x (Pemilik bebas eksekusi, orang lain hanya baca & jalankan)
chmod 600 id_rsa            # rw------- (Hanya pemilik yang boleh baca & tulis, standar kunci SSH)
chmod +x deploy.sh          # Menambahkan izin eksekusi (+x) agar berkas bisa dijalankan
chmod -R 775 /var/www/html  # Menerapkan izin secara rekursif ke seluruh subfolder

# Mengubah pemilik dan grup (Change Owner)
chown debian-user file.txt                 # Mengubah pemilik menjadi debian-user
chown debian-user:www-data file.txt        # Mengubah pemilik sekaligus grup
chown -R www-data:www-data /var/www/html   # Mengubah kepemilikan web root secara rekursif
```

***

## 5. Manajemen Proses & Sumber Daya Sistem

```bash theme={null}
# Melihat proses yang sedang berjalan
ps aux                      # Menampilkan snapshot seluruh proses sistem
ps aux | grep nginx         # Mencari PID (Process ID) dari layanan Nginx
pgrep -l nginx              # Menampilkan PID Nginx dengan cepat

# Monitoring sistem interaktif real-time
top                         # Monitor proses standar bawaan kernel
htop                        # Monitor interaktif modern berwarna (apt install htop)

# Menghentikan proses (Kill)
kill 1234                   # Mengirim sinyal SIGTERM (3) secara halus ke PID 1234
kill -9 1234                # Mengirim sinyal SIGKILL (paksa mati seketika)
killall nginx               # Mematikan semua proses yang bernama nginx

# Mengecek sisa RAM dan Harddisk
free -m                     # Melihat penggunaan RAM dalam Megabyte
free -h                     # Melihat penggunaan RAM dalam format terbaca manusia (Human-readable)
df -h                       # Melihat kapasitas partisi harddisk yang terpasang
du -sh /var/log/*           # Melihat ukuran folder spesifik untuk mencari penyebab disk penuh

# Informasi Perangkat Keras
lscpu                       # Informasi detail prosesor CPU
lsblk                       # Daftar partisi blok harddisk dan flashdisk
lspci                       # Daftar komponen slot motherboard (GPU, Kartu LAN)
lsusb                       # Daftar perangkat USB yang terhubung
uname -a                    # Menampilkan versi arsitektur dan versi kernel Linux
uptime                      # Mengetahui berapa lama server menyala dan rata-rata beban (Load Average)
```

***

## 6. Jaringan & Konektivitas

```bash theme={null}
# Konfigurasi IP & Antarmuka Jaringan
ip addr show                # Menampilkan alamat IP semua kartu jaringan (menggantikan ifconfig lama)
ip route                    # Menampilkan default gateway dan tabel routing
ip link set eth0 up         # Menyalakan antarmuka jaringan eth0

# Uji Koneksi & Resolusi DNS
ping -c 4 8.8.8.8           # Mengirim paket ICMP 4 kali ke Google DNS
nslookup google.com         # Memeriksa resolusi nama domain ke IP
dig google.com +short       # Pemeriksaan DNS tingkat lanjut
traceroute google.com       # Melacak jalur router hop yang dilewati paket

# Memeriksa Port yang Sedang Terbuka (Listening)
ss -tulpn                   # Menampilkan seluruh port TCP/UDP yang sedang dibuka beserta PID aplikasinya
# (Opsi legendaris pengganti netstat -tulpn)

# Mentransfer & Mengunduh File
curl -I https://google.com  # Mengambil header HTTP server
curl -O https://example.com/file.zip # Mengunduh file via curl
wget https://example.com/file.zip    # Mengunduh file di background
```

***

## 7. Pengarsipan & Kompresi Berkas

```bash theme={null}
# Format Tar & Gzip (.tar.gz)
tar -czvf arsip.tar.gz /folder/data/   # Membuat arsip baru (-c), kompresi gzip (-z), verbose (-v), file (-f)
tar -xzvf arsip.tar.gz                 # Mengekstrak seluruh isi arsip tar.gz
tar -tzvf arsip.tar.gz                 # Melihat isi berkas di dalam arsip tanpa mengekstraknya

# Format Zip
zip -r arsip.zip /folder/data/         # Mengompres folder ke format zip
unzip arsip.zip                        # Mengekstrak file zip
```

***

## 8. Pencarian Canggih di Seluruh Sistem (`find`)

Perintah `find` adalah pisau bedah paling ampuh untuk menemukan file berdasarkan kriteria apa pun:

```bash theme={null}
# Mencari file berdasarkan nama di seluruh sistem
find / -name "nginx.conf" 2>/dev/null

# Mencari file yang berukuran lebih besar dari 500MB (sangat berguna saat disk 100% penuh!)
find /var/log -type f -size +500M

# Mencari file yang dimodifikasi dalam 24 jam terakhir
find /home -mtime -1

# Mencari file dengan permission 777 yang berbahaya
find /var/www -type f -perm 0777

# Mencari file berekstensi .log lalu LANGSUNG MENGHAPUSNYA (-exec)
find /var/log/myapp -type f -name "*.log" -exec rm -f {} +
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.