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:
/homemenyimpan home directory user biasa./rootadalah home directory user root./etcberisi banyak konfigurasi sistem./varberisi data yang sering berubah, termasuk sebagian besar log./tmpdigunakan untuk file sementara./optsering digunakan untuk aplikasi tambahan./usrberisi 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:
| Kebutuhan | Command |
|---|---|
| Direktori saat ini | pwd |
| Melihat file | ls -la |
| Pindah direktori | cd |
| Membuat folder | mkdir |
| Membuat file | touch |
| Menyalin | cp |
| Memindahkan/rename | mv |
| Menghapus | rm |
| Membaca file | cat |
| Membaca file panjang | less |
| Melihat log terbaru | tail |
| Mencari teks | grep |
| Mencari file | find |
| User aktif | whoami |
| Permission | chmod |
| Ownership | chown |
| Disk | df -h |
| Ukuran folder | du -sh |
| RAM | free -h |
| Process | ps aux |
| Monitor resource | top |
| Service | systemctl |
| System log | journalctl |
| Package | apt |
| Network interface | ip |
| Port listening | ss |
| HTTP test | curl |
| DNS | dig |
| Firewall | ufw |
| Archive | tar |
| Transfer file | scp |
| Sinkronisasi | rsync |
| Scheduled task | crontab |
| Manual command | man |
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:
pwd,ls, dancduntuk navigasi.mkdir,touch,cp,mv, danrmuntuk mengelola file.cat,less,grep,tail, danfinduntuk membaca serta mencari informasi.chmoddanchownuntuk permission dan ownership.df,du,free,top, danpsuntuk memeriksa resource.systemctldanjournalctluntuk mengelola service serta membaca log.aptuntuk mengelola package.ip,ss,curl, dandiguntuk troubleshooting jaringan.ufwuntuk firewall.ssh,scp, danrsyncuntuk akses serta transfer file.cronuntuk 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.
