---
title: "Perintah Linux Wajib untuk Mengelola Server"
description: "Kumpulan perintah Linux yang sering dipakai admin server, dikelompokkan per tugas: file, proses, systemctl, journalctl, disk, jaringan, dan user."
url: "https://nivelva.com/insight/perintah-linux-admin-server"
category: "Server \u0026 Infrastruktur"
tags: ["perintah linux","linux server","systemctl","journalctl","admin server"]
author: "Theresia Candiawan"
published: "2026-11-07T03:50:00+07:00"
updated: "2026-11-07T03:50:00+07:00"
language: "id"
publisher: "Nivelva (https://nivelva.com)"
---

# Perintah Linux Wajib untuk Mengelola Server

> **Jawaban singkat:** Untuk mengelola server sehari-hari, kamu cukup menguasai beberapa kelompok perintah: navigasi dan file (ls, cp, nano, grep), proses (ps, top, kill), layanan (systemctl), log (journalctl, tail), disk (df, du), jaringan (ss, ip, curl, dig), dan user (useradd, passwd, sudo).

Sebagian besar pekerjaan admin server ditangani oleh beberapa lusin perintah yang sama, dikelompokkan menurut tugas: file, proses, layanan, log, disk, jaringan, dan user.

Kenapa ini penting? Panel kontrol memang memudahkan, tapi saat website mati jam dua pagi, yang kamu butuhkan adalah terminal dan tahu harus mengetik apa. Daftar di bawah disusun berdasarkan pertanyaan yang biasa muncul saat bekerja, bukan berdasarkan abjad, dan setiap perintah diberi contoh yang benar-benar dipakai. Contoh memakai distribusi berbasis systemd seperti Ubuntu, Debian, AlmaLinux, atau Rocky Linux.

## Ringkasan perintah per tugas

| Tugas | Perintah utama | Contoh singkat |
|:--|:--|:--|
| Navigasi dan file | `ls`, `cd`, `cp`, `mv`, `rm`, `nano` | `ls -lah /var/www` |
| Mencari teks dan file | `grep`, `find` | `grep -ri "error" /var/log/nginx` |
| Proses | `ps`, `top`, `htop`, `kill` | `ps aux --sort=-%mem` |
| Layanan | `systemctl` | `systemctl restart nginx` |
| Log | `journalctl`, `tail` | `journalctl -u nginx -f` |
| Disk | `df`, `du`, `lsblk` | `du -sh /var/*` |
| Jaringan | `ss`, `ip`, `curl`, `dig` | `ss -tulpn` |
| User dan hak akses | `useradd`, `passwd`, `usermod`, `chmod`, `chown` | `usermod -aG sudo budi` |

## File dan direktori: di mana semuanya berada?

`ls -lah` menampilkan isi folder lengkap dengan file tersembunyi, ukuran yang mudah dibaca, pemilik, dan hak akses. `cd` berpindah folder, `pwd` menunjukkan posisi saat ini. Untuk menyalin dan memindah, ada `cp -a` (menyalin dengan mempertahankan hak akses dan tanggal) dan `mv`.

Hati-hati dengan `rm -r`, karena tidak ada tempat sampah. Biasakan menjalankan `ls` pada path yang sama sebelum menghapus, agar yakin yang dihapus memang yang dimaksud.

Untuk mengubah konfigurasi, `nano` paling ramah bagi pemula, sementara `vim` lebih kuat bila sudah terbiasa. Selalu buat salinan sebelum mengedit file penting, misalnya `cp nginx.conf nginx.conf.bak`.

Mencari sesuatu adalah pekerjaan harian. `grep -rn "DB_HOST" /var/www/app` menemukan baris berisi teks tertentu beserta nomor barisnya. `find /var/www -name "*.php" -mtime -2` menampilkan file PHP yang berubah dalam dua hari terakhir, berguna saat mencurigai ada file sisipan.

## Proses apa yang sedang memakan sumber daya?

`top` menampilkan proses secara langsung, dan `htop` (perlu dipasang) versi yang lebih nyaman dibaca. Untuk melihat sekilas, `ps aux --sort=-%mem | head` mengurutkan proses berdasarkan pemakaian memori, dan ganti `%mem` dengan `%cpu` untuk mengurutkan berdasarkan CPU.

Menghentikan proses dilakukan dengan `kill PID`. Kalau proses tidak mau berhenti, `kill -9 PID` memaksa, tapi gunakan sebagai pilihan terakhir karena proses tidak sempat merapikan diri. Untuk layanan yang dikelola systemd, lebih baik hentikan lewat `systemctl` daripada `kill`.

`uptime` menunjukkan sudah berapa lama server menyala dan load average. `free -h` menampilkan pemakaian RAM dan swap. Kalau server terasa lambat padahal angka CPU rendah, ada beberapa penyebab lain yang dijelaskan di [server lambat padahal CPU rendah](https://nivelva.com/insight/server-lambat-cpu-rendah).

## Mengelola layanan dengan systemctl

Hampir semua layanan modern, seperti Nginx, PHP-FPM, MySQL, dan SSH, dikelola oleh systemd. Perintah yang paling sering dipakai:

- `systemctl status nginx` untuk melihat apakah layanan berjalan, sejak kapan, dan beberapa baris log terakhir.
- `systemctl restart nginx` untuk menyalakan ulang, atau `systemctl reload nginx` untuk memuat ulang konfigurasi tanpa memutus koneksi (bila layanan mendukung).
- `systemctl enable --now nginx` untuk mengaktifkan layanan saat boot sekaligus menyalakannya sekarang.
- `systemctl list-units --failed` untuk melihat semua layanan yang gagal.

Sebelum restart web server setelah mengubah konfigurasi, uji dulu sintaksnya. Untuk Nginx: `nginx -t`. Untuk Apache: `apachectl configtest`. Kebiasaan ini mencegah layanan mati karena satu typo.

## Membaca log: dari mana mencari penyebab error?

`journalctl` membaca log yang dikumpulkan systemd. `journalctl -u nginx --since "1 hour ago"` menampilkan log Nginx satu jam terakhir. `journalctl -u php8.3-fpm -f` mengikuti log secara langsung, sesuaikan nama layanan dengan versi PHP di servermu. `journalctl -p err -b` menampilkan semua pesan error sejak boot terakhir.

Banyak aplikasi juga menulis log ke file di `/var/log`. `tail -f /var/log/nginx/error.log` mengikuti log error Nginx secara langsung, dan `tail -n 100` menampilkan 100 baris terakhir. Gabungkan dengan grep untuk menyaring: `grep " 502 " /var/log/nginx/access.log | tail`. Contoh penerapannya ada di artikel [error 502 Bad Gateway](https://nivelva.com/insight/error-502-bad-gateway).

## Disk penuh dan cara menemukan pelakunya

`df -h` menunjukkan pemakaian setiap partisi. Kalau salah satu mendekati 100 persen, cari folder terbesar dengan `du -sh /var/* | sort -h`, lalu turun ke folder yang paling besar. Tersangka yang sering muncul adalah log yang tidak dirotasi, backup lama, cache aplikasi, dan image Docker yang menumpuk.

`df -i` memeriksa inode. Disk bisa "penuh" walau masih ada ruang, karena jumlah file kecil terlalu banyak. `lsblk` menampilkan disk dan partisi yang terpasang, berguna setelah menambah volume.

> **Jangan hapus log yang sedang dipakai:**
>
> Menghapus file log yang masih dibuka layanan tidak langsung mengembalikan ruang disk, karena proses masih memegangnya. Kosongkan isinya dengan `truncate -s 0 namafile.log`, atau atur logrotate agar log lama dikompres dan dibuang otomatis.

## Jaringan: port, IP, dan DNS

`ss -tulpn` menampilkan port yang sedang mendengarkan beserta prosesnya. Perintah ini menjawab pertanyaan seperti "apakah MySQL terbuka ke publik?" atau "kenapa Nginx gagal start, port 80 dipakai siapa?".

`ip a` menampilkan alamat IP setiap antarmuka, dan `ip r` menampilkan tabel routing. `ping` menguji apakah sebuah host bisa dijangkau, walau banyak server memblokirnya.

`curl -I https://domainmu.com` menampilkan header respons, cara cepat melihat kode status dan redirect. `curl -v` memberi rincian proses koneksi termasuk TLS. `dig domainmu.com +short` menampilkan IP yang dijawab DNS, dan `dig MX domainmu.com` menampilkan server email. Dasar DNS dibahas di [apa itu DNS](https://nivelva.com/insight/apa-itu-dns).

## User, hak akses, dan sudo

Bekerja sebagai root setiap saat itu berisiko. Buat user biasa dengan `adduser budi` (Debian/Ubuntu) atau `useradd -m budi` lalu `passwd budi`, dan beri hak admin dengan `usermod -aG sudo budi` (Ubuntu/Debian) atau grup `wheel` di keluarga Red Hat.

`chown -R www-data:www-data /var/www/app` mengubah pemilik folder aplikasi, dan `chmod 640 .env` membatasi siapa yang bisa membaca file berisi kata sandi. Hindari `chmod 777`, karena membuat file bisa ditulis siapa saja. `last` menampilkan riwayat login, berguna untuk mengecek akses mencurigakan. Langkah pengamanan awal lainnya ada di [cara mengamankan VPS baru](https://nivelva.com/insight/cara-mengamankan-vps-baru).

## Pertanyaan yang sering diajukan

### Apa bedanya restart dan reload di systemctl?

Restart menghentikan lalu menyalakan layanan, sehingga koneksi yang sedang berjalan terputus. Reload hanya memuat ulang konfigurasi tanpa menghentikan proses utama, tapi tidak semua layanan mendukungnya.

### Bagaimana cara tahu perintah apa saja yang pernah dijalankan di server?

Perintah history menampilkan riwayat perintah user yang sedang login. Riwayat ini bisa dihapus atau tidak lengkap, jadi untuk audit yang serius gunakan log autentikasi dan alat audit khusus.

### Apakah perintah ini sama di semua distribusi Linux?

Sebagian besar sama di distribusi berbasis systemd. Yang biasanya berbeda adalah manajer paket (apt atau dnf), nama grup admin (sudo atau wheel), dan lokasi beberapa file konfigurasi.

---

Diterbitkan oleh Nivelva Insight (https://nivelva.com/insight/). Artikel ini: https://nivelva.com/insight/perintah-linux-admin-server
Kontak Nivelva: WhatsApp https://wa.me/6285111245007, email hello@nivelva.com
