Ubuntu Server: Perintah Linux yang Wajib Dikuasai untuk Mengelola VPS

Mengelola VPS berbasis Ubuntu hampir selalu membutuhkan command line.

Berbeda dengan komputer desktop yang menyediakan banyak antarmuka grafis, Ubuntu Server biasanya dikelola melalui terminal menggunakan SSH. Karena itu, kemampuan memahami perintah Linux menjadi salah satu skill dasar yang penting bagi developer, system administrator, maupun DevOps engineer.

Anda tidak harus menghafalkan ratusan perintah sekaligus.

Yang lebih penting adalah memahami perintah yang paling sering digunakan dan mengetahui kapan harus menggunakannya.

Artikel ini membahas perintah Ubuntu Server yang umum digunakan untuk mengelola VPS, mulai dari berpindah direktori hingga memeriksa resource, mengelola service, melihat log, dan melakukan troubleshooting dasar.

Apa Itu Ubuntu Server?

Ubuntu Server adalah varian Ubuntu yang dirancang untuk menjalankan layanan server.

Berbeda dengan Ubuntu Desktop, Ubuntu Server biasanya tidak membutuhkan graphical user interface. Server dapat dijalankan secara headless dan dikelola dari jarak jauh melalui SSH.

Contoh alur pengelolaan VPS:

Laptop / PC
     ↓
    SSH
     ↓
Ubuntu Server
     ↓
Web Server
Database
Application
Storage

Karena sebagian besar pekerjaan dilakukan melalui terminal, pemahaman command line menjadi sangat penting.

Cara Terhubung ke Ubuntu Server Menggunakan SSH

SSH atau Secure Shell digunakan untuk mengakses server dari komputer lain.

Contoh:

ssh [email protected]

Jika server menggunakan hostname:

ssh [email protected]

Jika SSH menggunakan port berbeda:

ssh -p 2222 [email protected]

Setelah berhasil login, Anda akan mendapatkan shell pada server.

Contoh:

username@server:~$

Tanda tersebut menunjukkan bahwa Anda sedang berada di shell user tertentu.

Mengenal Struktur Direktori Linux

Sebelum menggunakan command line, penting memahami struktur filesystem Linux.

Beberapa direktori yang umum:

/
├── bin
├── boot
├── dev
├── etc
├── home
├── opt
├── root
├── tmp
├── usr
└── var

Beberapa direktori yang sering digunakan:

  • /home menyimpan home directory user biasa.
  • /root adalah home directory user root.
  • /etc berisi banyak konfigurasi sistem.
  • /var berisi data yang sering berubah, termasuk sebagian besar log.
  • /tmp digunakan untuk file sementara.
  • /opt sering digunakan untuk aplikasi tambahan.
  • /usr berisi banyak program dan resource sistem.

Memahami struktur ini akan membuat navigasi server jauh lebih mudah.

pwd: Mengetahui Direktori Saat Ini

Gunakan:

pwd

Contoh output:

/home/ubuntu

pwd merupakan singkatan dari print working directory.

Perintah ini berguna ketika Anda tidak yakin sedang berada di direktori mana.

ls: Melihat Isi Direktori

Perintah:

ls

menampilkan file dan direktori pada lokasi saat ini.

Untuk informasi lebih lengkap:

ls -l

Untuk menampilkan file tersembunyi:

ls -la

Contoh:

drwxr-xr-x 2 ubuntu ubuntu 4096 Aug 28 00:10 app
-rw-r--r-- 1 ubuntu ubuntu  532 Aug 28 00:11 .env

File yang diawali titik seperti .env dianggap hidden file dalam konteks listing biasa.

cd: Berpindah Direktori

Untuk masuk ke direktori:

cd /var/www

Masuk ke home directory:

cd ~

Kembali ke parent directory:

cd ..

Kembali ke direktori sebelumnya:

cd -

Contoh:

cd /var/www
cd example.com

Sekarang Anda berada di:

/var/www/example.com

Absolute Path dan Relative Path

Ada dua konsep path yang perlu dipahami.

Absolute path dimulai dari /:

cd /var/www/example.com

Relative path bergantung pada posisi saat ini:

cd example.com

Jika saat ini berada di:

/var/www

maka:

cd example.com

akan menuju:

/var/www/example.com

mkdir: Membuat Direktori

Untuk membuat folder:

mkdir project

Membuat beberapa direktori sekaligus:

mkdir app logs backups

Jika parent directory belum ada:

mkdir -p /var/www/example.com/storage/logs

Option -p memungkinkan parent directory dibuat jika belum tersedia.

touch: Membuat File

Contoh:

touch example.txt

Perintah ini dapat membuat file kosong jika file belum ada.

Namun touch juga dapat digunakan untuk memperbarui timestamp file yang sudah ada.

cp: Menyalin File

Untuk menyalin:

cp source.txt backup.txt

Menyalin direktori membutuhkan opsi recursive:

cp -r project project-backup

Berhati-hatilah ketika menyalin direktori yang besar karena dapat menggunakan storage cukup banyak.

mv: Memindahkan atau Mengganti Nama

Memindahkan file:

mv example.txt /tmp/

Mengganti nama:

mv old-name.txt new-name.txt

mv sering digunakan untuk dua kebutuhan tersebut.

rm: Menghapus File

Menghapus file:

rm example.txt

Menghapus direktori kosong:

rmdir example

Untuk menghapus direktori beserta isinya:

rm -r example

Perintah rm perlu digunakan dengan sangat hati-hati.

Terutama hindari menjalankan perintah penghapusan sebagai root sebelum benar-benar memahami target path-nya.

Kenapa rm -rf Berbahaya?

Anda mungkin sering melihat:

rm -rf directory

Option -r berarti recursive, sedangkan -f berarti force.

Perintah tersebut dapat menghapus direktori beserta seluruh isinya tanpa banyak konfirmasi.

Karena itu, sebelum menjalankan command destruktif, biasakan memeriksa:

pwd
ls

dan pastikan path yang akan dihapus benar.

cat: Membaca Isi File

Untuk melihat isi file:

cat example.txt

Untuk file konfigurasi:

cat /etc/hostname

cat cocok untuk file pendek.

Untuk file panjang, gunakan less.

less: Membaca File Panjang

Contoh:

less /var/log/syslog

Anda dapat berpindah halaman menggunakan keyboard.

Tekan:

q

untuk keluar.

less sangat berguna ketika membaca log server.

head dan tail

Untuk melihat beberapa baris pertama:

head example.log

Untuk beberapa baris terakhir:

tail example.log

Menentukan jumlah baris:

tail -n 50 example.log

Untuk memantau file log secara real-time:

tail -f example.log

Ini sangat berguna ketika aplikasi sedang berjalan dan Anda ingin melihat log yang terus bertambah.

grep: Mencari Teks

Misalnya ingin mencari kata error:

grep "error" app.log

Agar tidak membedakan huruf besar dan kecil:

grep -i "error" app.log

Untuk mencari secara recursive:

grep -R "database" /var/www/example.com

grep merupakan salah satu command yang sangat sering digunakan ketika troubleshooting.

Menggabungkan Command dengan Pipe

Linux memungkinkan output sebuah command diberikan kepada command berikutnya menggunakan |.

Contoh:

ps aux | grep nginx

Artinya output ps aux diteruskan ke grep.

Contoh lain:

ls -la | grep .env

Teknik pipe adalah salah satu konsep penting dalam command line Linux.

find: Mencari File

Untuk mencari file berdasarkan nama:

find /var/www -name "index.php"

Mencari file berdasarkan ekstensi:

find /var/www -name "*.log"

Mencari file hanya pada kedalaman tertentu:

find /var/www -maxdepth 2 -name "*.env"

Gunakan dengan hati-hati pada filesystem besar karena pencarian recursive dapat membutuhkan waktu.

which: Mengetahui Lokasi Program

Contoh:

which php

Output dapat berupa:

/usr/bin/php

Ini berguna untuk mengetahui executable yang sedang ditemukan oleh shell melalui PATH.

whoami: Mengetahui User Aktif

Jalankan:

whoami

Contoh:

ubuntu

Perintah ini sederhana tetapi sangat berguna sebelum menjalankan command yang membutuhkan privilege tertentu.

id: Melihat Informasi User

Gunakan:

id

Anda dapat melihat UID, GID, dan group yang dimiliki user.

Contoh:

id ubuntu

Informasi ini berguna ketika troubleshooting permission.

sudo: Menjalankan Perintah dengan Privilege

User tertentu dapat menjalankan command dengan privilege administrator menggunakan:

sudo command

Contoh:

sudo systemctl restart nginx

atau:

sudo apt update

sudo sebaiknya digunakan hanya ketika diperlukan.

Memahami Root User

Root adalah user dengan privilege administratif tertinggi pada Linux.

Anda dapat memeriksa apakah sedang menjadi root:

whoami

Jika output:

root

berarti command yang dijalankan memiliki privilege sangat tinggi.

Karena itu, menjalankan server sebagai root secara terus-menerus bukan kebiasaan yang ideal.

Lebih baik gunakan user biasa dengan sudo ketika membutuhkan privilege administratif.

Membuat User Baru

Untuk membuat user:

sudo adduser deploy

Setelah dibuat, user dapat diberikan akses sudo jika memang diperlukan:

sudo usermod -aG sudo deploy

Jangan memberikan privilege administratif kepada user tanpa alasan yang jelas.

passwd: Mengubah Password

Untuk mengubah password user saat ini:

passwd

Untuk mengubah password user lain sebagai administrator:

sudo passwd deploy

Jika server menggunakan SSH key authentication, password login SSH dapat dinonaktifkan sesuai kebijakan keamanan server.

chmod: Mengubah Permission

Linux memiliki permission untuk:

user
group
other

Contoh:

chmod 644 example.txt

Secara umum:

6 → read + write
4 → read
4 → read

Sehingga:

644

berarti:

Owner  → read/write
Group  → read
Other  → read

chmod 755

Untuk executable atau direktori tertentu:

chmod 755 script.sh

Secara umum:

Owner  → read/write/execute
Group  → read/execute
Other  → read/execute

Namun jangan menganggap 755 selalu merupakan permission yang benar. Permission harus disesuaikan dengan kebutuhan aplikasi dan keamanan.

chmod +x

Untuk membuat script executable:

chmod +x deploy.sh

Kemudian:

./deploy.sh

dapat digunakan untuk menjalankannya jika script memiliki interpreter yang sesuai.

chown: Mengubah Owner

Untuk mengubah ownership:

sudo chown ubuntu:ubuntu example.txt

Format:

chown user:group file

Untuk direktori beserta isinya:

sudo chown -R ubuntu:ubuntu /var/www/example.com

Option -R berarti recursive.

Gunakan dengan hati-hati karena ownership yang salah dapat membuat aplikasi gagal membaca atau menulis file.

Memahami Permission dengan ls -l

Jalankan:

ls -l

Contoh:

-rw-r--r-- 1 ubuntu ubuntu 532 Aug 28 00:11 example.txt

Bagian:

-rw-r--r--

menunjukkan permission.

Secara konsep:

- rw- r-- r--
  │   │   │
  │   │   └── other
  │   └────── group
  └────────── owner

Memahami bagian ini sangat membantu ketika aplikasi mengalami error permission.

df: Melihat Penggunaan Disk

Gunakan:

df -h

Option -h membuat ukuran lebih mudah dibaca.

Contoh informasi:

Filesystem
Size
Used
Avail
Use%
Mounted on

Perintah ini sangat berguna untuk mengetahui apakah disk server hampir penuh.

du: Melihat Ukuran Direktori

Untuk melihat ukuran direktori:

du -sh /var/www

Untuk melihat ukuran setiap folder:

du -sh /var/www/*

Jika disk penuh, du dapat membantu mencari direktori yang menggunakan storage paling banyak.

free: Melihat Memory

Gunakan:

free -h

Anda dapat melihat informasi RAM dan swap.

Jangan hanya melihat angka free tanpa memahami konsep cache dan available memory.

Untuk diagnosis sederhana, kolom available biasanya lebih berguna daripada hanya melihat free.

top: Memantau Resource Secara Real-Time

Jalankan:

top

Anda dapat melihat:

  • penggunaan CPU,
  • memory,
  • process,
  • load,
  • user yang menjalankan process.

Keluar dengan:

q

htop

Jika tersedia:

htop

htop memberikan tampilan yang lebih interaktif dibandingkan top.

Pada Ubuntu, Anda dapat memasangnya jika diperlukan:

sudo apt install htop

ps: Melihat Process

Contoh:

ps aux

Untuk mencari process tertentu:

ps aux | grep nginx

Untuk mengetahui process berdasarkan PID:

ps -p 1234

PID adalah Process ID.

kill: Menghentikan Process

Jika sebuah process perlu dihentikan:

kill 1234

Jika process tidak merespons, terdapat signal lain yang lebih agresif:

kill -9 1234

Namun kill -9 sebaiknya bukan pilihan pertama.

Jika memungkinkan, hentikan process dengan cara normal agar aplikasi memiliki kesempatan melakukan cleanup.

systemctl: Mengelola Service

Ubuntu modern menggunakan systemd sebagai sistem init/service manager.

Perintah utama:

sudo systemctl status nginx

Menjalankan service:

sudo systemctl start nginx

Menghentikan:

sudo systemctl stop nginx

Restart:

sudo systemctl restart nginx

Reload konfigurasi jika service mendukung:

sudo systemctl reload nginx

Enable dan Disable Service

Agar service otomatis dijalankan saat boot:

sudo systemctl enable nginx

Untuk menonaktifkan autostart:

sudo systemctl disable nginx

Sering kali restart dan enable memiliki fungsi berbeda.

restart
→ mengatur service sekarang

enable
→ mengatur perilaku saat boot

Memeriksa Status Service

Sebelum melakukan troubleshooting, biasakan:

sudo systemctl status nginx

atau:

sudo systemctl status php8.3-fpm

Nama service PHP dapat berbeda sesuai versi yang digunakan pada server.

journalctl: Membaca System Log

Jika service bermasalah:

sudo journalctl -u nginx

Melihat log terbaru:

sudo journalctl -u nginx -n 50

Memantau log:

sudo journalctl -u nginx -f

Ini sangat berguna ketika systemctl status hanya memberikan informasi singkat.

journalctl untuk Boot Terakhir

Untuk melihat log dari boot sebelumnya atau boot tertentu, journalctl menyediakan berbagai filter.

Contoh melihat log sejak boot saat ini:

sudo journalctl -b

Untuk troubleshooting masalah setelah server restart, informasi boot dapat sangat membantu.

apt: Mengelola Package

Ubuntu menggunakan APT untuk mengelola package.

Update daftar package:

sudo apt update

Upgrade package:

sudo apt upgrade

Menginstal package:

sudo apt install nginx

Menghapus package:

sudo apt remove nginx

Membersihkan dependency yang tidak lagi dibutuhkan:

sudo apt autoremove

Bedakan apt update dan apt upgrade

Keduanya sering tertukar.

sudo apt update

memperbarui informasi mengenai package yang tersedia.

Sedangkan:

sudo apt upgrade

menginstal versi upgrade dari package yang sudah terpasang sesuai repository dan kebijakan APT.

Jadi update tidak sama dengan upgrade.

apt search

Untuk mencari package:

apt search nginx

Anda juga dapat melihat informasi package:

apt show nginx

Ini berguna sebelum melakukan instalasi.

hostname

Untuk mengetahui hostname:

hostname

Informasi hostname penting ketika mengelola beberapa server agar tidak salah menjalankan command pada mesin yang berbeda.

uname

Untuk melihat informasi kernel:

uname -a

Contoh informasi yang dapat terlihat:

Linux
hostname
kernel version
architecture

Untuk architecture:

uname -m

lsb_release

Pada sistem yang menyediakan command tersebut:

lsb_release -a

Ini dapat membantu mengetahui informasi versi Ubuntu.

Alternatif yang umum:

cat /etc/os-release

ip: Memeriksa Network Interface

Untuk melihat alamat IP:

ip addr

Versi singkat:

ip a

Untuk melihat route:

ip route

Ini berguna ketika melakukan troubleshooting jaringan.

ss: Memeriksa Port yang Listening

Salah satu command penting untuk server:

sudo ss -tulpn

Anda dapat melihat service yang sedang listen pada port tertentu.

Contohnya:

22
80
443
3306

Jika web server seharusnya listen pada port 80 tetapi tidak muncul, itu merupakan petunjuk untuk melakukan troubleshooting.

curl: Menguji HTTP

Untuk menguji apakah web server memberikan response:

curl http://localhost

Melihat header:

curl -I http://localhost

Untuk HTTPS:

curl -I https://example.com

curl sangat berguna untuk membedakan masalah aplikasi dengan masalah web server atau network.

ping

Untuk menguji konektivitas dasar:

ping example.com

Namun ping tidak selalu menjadi indikator bahwa sebuah service HTTP berjalan.

Server dapat memblokir ICMP tetapi tetap dapat melayani HTTP atau HTTPS.

Karena itu gunakan tool sesuai lapisan yang ingin diuji.

dig: Memeriksa DNS

Jika dig tersedia:

dig example.com

Untuk mendapatkan jawaban singkat:

dig +short example.com

Ini berguna ketika domain tidak mengarah ke IP server yang benar.

ufw: Mengelola Firewall

Ubuntu sering menggunakan UFW sebagai interface sederhana untuk firewall.

Melihat status:

sudo ufw status

Mengizinkan SSH:

sudo ufw allow ssh

Mengizinkan HTTP:

sudo ufw allow 80/tcp

Mengizinkan HTTPS:

sudo ufw allow 443/tcp

Kemudian:

sudo ufw enable

Hati-hati: jangan mengaktifkan firewall sebelum memastikan akses SSH Anda tidak akan terputus.

Jika port SSH tertutup oleh firewall, Anda dapat kehilangan akses remote ke server.

tar: Mengarsipkan File

Untuk membuat archive:

tar -czf backup.tar.gz project/

Untuk mengekstrak:

tar -xzf backup.tar.gz

Format umum:

-c → create
-x → extract
-z → gzip
-f → file

tar sangat sering digunakan untuk backup dan distribusi file di Linux.

gzip dan gunzip

Untuk mengompresi file:

gzip example.log

Untuk mengekstraknya:

gunzip example.log.gz

Log yang besar sering menggunakan format kompresi seperti .gz.

scp: Menyalin File Melalui SSH

Dari komputer lokal ke server:

scp example.txt [email protected]:/home/username/

Dari server ke komputer lokal:

scp [email protected]:/home/username/example.txt .

Untuk direktori:

scp -r project [email protected]:/home/username/

Untuk transfer yang lebih kompleks atau berulang, rsync sering lebih efisien.

rsync: Sinkronisasi File

Contoh:

rsync -avz project/ [email protected]:/home/username/project/

rsync hanya mentransfer perubahan yang diperlukan sehingga cocok untuk deployment dan sinkronisasi.

Untuk pekerjaan production, periksa source dan destination dengan hati-hati sebelum menjalankan command, terutama ketika menggunakan opsi seperti --delete.

nano: Editor Teks Sederhana

Untuk mengedit file:

nano .env

Beberapa shortcut penting:

Ctrl + O → Save
Ctrl + X → Exit
Ctrl + W → Search

nano cocok untuk pemula yang belum terbiasa dengan Vim.

vim

Editor lain yang sering tersedia di server:

vim filename

Vim sangat powerful, tetapi memiliki learning curve lebih tinggi.

Jika hanya perlu mengubah konfigurasi kecil dan belum terbiasa dengan Vim, nano biasanya lebih mudah.

history: Melihat Command Sebelumnya

Gunakan:

history

Untuk mencari command sebelumnya:

history | grep nginx

History sangat berguna ketika lupa command yang baru saja digunakan.

Namun jangan menganggap shell history sebagai tempat aman untuk menyimpan secret. Hindari memasukkan password, API key, atau token secara langsung ke command line.

Environment Variable

Melihat variable tertentu:

echo $HOME

Melihat environment variable:

printenv

Contoh:

echo $PATH

Environment variable sering digunakan oleh aplikasi server untuk konfigurasi.

Misalnya:

APP_ENV
APP_DEBUG
DATABASE_HOST

Jangan sembarangan mencetak environment variable pada terminal atau log jika terdapat secret di dalamnya.

$PATH

PATH menentukan direktori yang dicari shell ketika Anda menjalankan executable tanpa memberikan path lengkap.

Lihat:

echo $PATH

Ketika:

which php

menghasilkan:

/usr/bin/php

shell menemukan executable PHP melalui salah satu direktori yang terdapat pada PATH.

date

Untuk melihat waktu server:

date

Timezone server juga penting ketika debugging aplikasi yang berhubungan dengan timestamp, cron, dan log.

Untuk informasi timezone pada sistem yang menggunakan timedatectl:

timedatectl

timedatectl

Melihat status waktu:

timedatectl status

Anda dapat melihat:

  • local time,
  • universal time,
  • RTC time,
  • timezone,
  • NTP synchronization.

Konfigurasi timezone harus disesuaikan dengan kebutuhan server dan aplikasi.

crontab: Menjalankan Task Terjadwal

Untuk melihat cron milik user saat ini:

crontab -l

Mengedit:

crontab -e

Contoh:

0 2 * * * /home/ubuntu/scripts/backup.sh

Artinya script dijalankan setiap hari pada pukul 02:00 menurut timezone yang berlaku pada cron.

Pastikan script memiliki permission dan environment yang benar ketika dijalankan oleh cron.

Cron dan Laravel

Aplikasi Laravel sering membutuhkan scheduler.

Pada setup Laravel tertentu, cron dapat menjalankan:

php artisan schedule:run

Biasanya scheduler Laravel dipanggil secara berkala melalui cron.

Contohnya:

* * * * * cd /var/www/example.com && php artisan schedule:run >> /dev/null 2>&1

Path PHP dan direktori aplikasi harus disesuaikan dengan server.

Perintah Laravel yang Sering Dipakai di VPS

Jika Anda mengelola aplikasi Laravel di Ubuntu Server, beberapa command Artisan juga akan sering digunakan.

Melihat daftar command:

php artisan list

Membersihkan cache:

php artisan optimize:clear

Menjalankan migration:

php artisan migrate

Melihat status migration:

php artisan migrate:status

Menjalankan queue worker:

php artisan queue:work

Namun command production harus dijalankan sesuai kebutuhan deployment. Jangan menjalankan migration atau command destruktif pada production tanpa memahami dampaknya.

Cara Troubleshooting VPS Secara Sistematis

Ketika website tiba-tiba tidak dapat diakses, jangan langsung menjalankan banyak command secara acak.

Gunakan pendekatan berlapis.

1. Periksa apakah server dapat diakses

ssh [email protected]

Jika SSH tidak dapat terhubung, fokus pada masalah server/network terlebih dahulu.

2. Periksa resource

df -h
free -h
top

Cari kemungkinan:

disk penuh
RAM habis
CPU terlalu tinggi

3. Periksa service

sudo systemctl status nginx

Jika menggunakan PHP-FPM:

sudo systemctl status php8.3-fpm

Sesuaikan versi PHP dengan server.

4. Periksa port

sudo ss -tulpn

Pastikan service listen pada port yang diharapkan.

5. Tes dari server

curl -I http://localhost

Jika localhost berhasil tetapi domain dari luar gagal, masalah mungkin berada pada DNS, firewall, reverse proxy, TLS, atau jaringan.

6. Periksa log

sudo journalctl -u nginx -n 100

dan log aplikasi sesuai stack yang digunakan.

Jangan Selalu Menggunakan sudo

Pemula sering menyelesaikan semua error dengan:

sudo ...

Padahal masalahnya bisa saja permission, ownership, konfigurasi, atau path yang salah.

sudo hanya memberikan privilege lebih tinggi. Ia tidak otomatis memperbaiki penyebab masalah.

Sebelum menggunakan sudo, pahami:

Siapa user yang menjalankan?
File dimiliki siapa?
Service berjalan sebagai user siapa?
Directory memiliki permission apa?

Hindari Mengubah Permission Menjadi 777

Ketika aplikasi mengalami error permission, salah satu solusi yang sering ditemukan adalah:

chmod -R 777 directory

Ini sebaiknya dihindari.

Permission 777 memberikan hak read, write, dan execute kepada owner, group, dan other.

Hal tersebut dapat memperbesar risiko keamanan.

Lebih baik cari tahu user yang menjalankan service dan atur ownership serta permission sesuai kebutuhan aplikasi.

Jangan Menyimpan Secret di Command History

Hindari:

mysql -u root -pMyPassword

karena password dapat terekspos melalui history atau mekanisme proses tertentu.

Lebih baik gunakan mekanisme autentikasi yang sesuai dan hindari menaruh secret langsung dalam command jika tidak diperlukan.

Hal yang sama berlaku untuk:

API key
access token
private key
database password
cloud credential

Backup Sebelum Perubahan Besar

Sebelum mengubah konfigurasi penting seperti:

Nginx
SSH
Firewall
Database
PHP
System configuration

pastikan memiliki backup atau cara rollback yang jelas.

Contoh sederhana membuat backup konfigurasi:

sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.backup

Setelah mengubah konfigurasi, lakukan validasi sebelum reload atau restart jika software menyediakan command test configuration.

Gunakan Tab Completion

Tidak semua hal perlu diketik manual.

Misalnya:

cd /var/ww

tekan Tab untuk membantu melengkapi path.

Tab completion mengurangi kesalahan ketik dan mempercepat pekerjaan.

Gunakan man

Linux menyediakan manual page.

Contoh:

man chmod

atau:

man systemctl

Keluar dengan:

q

Jika lupa opsi sebuah command, man adalah salah satu referensi pertama yang bisa digunakan.

Gunakan command --help

Banyak command menyediakan bantuan singkat:

chmod --help

atau:

systemctl --help

Ini berguna ketika Anda hanya membutuhkan sintaks dasar tanpa membaca dokumentasi panjang.

Cheat Sheet Perintah Linux untuk VPS

Berikut beberapa command yang sebaiknya Anda kuasai:

KebutuhanCommand
Direktori saat inipwd
Melihat filels -la
Pindah direktoricd
Membuat foldermkdir
Membuat filetouch
Menyalincp
Memindahkan/renamemv
Menghapusrm
Membaca filecat
Membaca file panjangless
Melihat log terbarutail
Mencari teksgrep
Mencari filefind
User aktifwhoami
Permissionchmod
Ownershipchown
Diskdf -h
Ukuran folderdu -sh
RAMfree -h
Processps aux
Monitor resourcetop
Servicesystemctl
System logjournalctl
Packageapt
Network interfaceip
Port listeningss
HTTP testcurl
DNSdig
Firewallufw
Archivetar
Transfer filescp
Sinkronisasirsync
Scheduled taskcrontab
Manual commandman

Urutan Belajar yang Disarankan

Tidak perlu menghafalkan semua command dalam satu hari.

Urutan yang lebih masuk akal:

Tahap 1: Navigasi

Kuasai:

pwd
ls
cd
mkdir
touch
cp
mv
rm

Tahap 2: File dan Permission

Pelajari:

cat
less
grep
find
chmod
chown

Tahap 3: System Resource

Pelajari:

df
du
free
top
ps

Tahap 4: Service dan Log

Kuasai:

systemctl
journalctl

Tahap 5: Network

Pelajari:

ip
ss
curl
ping
dig

Tahap 6: Server Administration

Lanjutkan dengan:

apt
ufw
cron
ssh
scp
rsync

Setelah memahami command tersebut, Anda sudah memiliki fondasi yang cukup kuat untuk mengelola VPS Linux sehari-hari.

Kesimpulan

Mengelola Ubuntu Server tidak berarti harus menghafalkan seluruh command Linux.

Yang lebih penting adalah memahami kelompok perintah berdasarkan kebutuhan:

  • pwdls, dan cd untuk navigasi.
  • mkdirtouchcpmv, dan rm untuk mengelola file.
  • catlessgreptail, dan find untuk membaca serta mencari informasi.
  • chmod dan chown untuk permission dan ownership.
  • dfdufreetop, dan ps untuk memeriksa resource.
  • systemctl dan journalctl untuk mengelola service serta membaca log.
  • apt untuk mengelola package.
  • ipsscurl, dan dig untuk troubleshooting jaringan.
  • ufw untuk firewall.
  • sshscp, dan rsync untuk akses serta transfer file.
  • cron untuk menjalankan pekerjaan terjadwal.

Hal yang paling penting adalah jangan menjalankan command secara membabi buta, terutama command yang menggunakan sudo, menghapus file, mengubah permission, memodifikasi firewall, atau mengubah konfigurasi server.

Biasakan memahami tiga hal sebelum menjalankan command penting:

Apa yang akan dilakukan?
File atau service mana yang terkena?
Bagaimana cara melakukan rollback jika terjadi kesalahan?

Dengan kebiasaan tersebut, command line Linux tidak lagi terasa seperti kumpulan perintah yang harus dihafalkan, tetapi menjadi seperangkat alat untuk memahami, mengelola, dan melakukan troubleshooting pada VPS secara sistematis.