Kumpulan perintah dasar linux untuk pemula

Kalau baru pindah ke Linux, salah satu hal pertama yang perlu dipelajari adalah perintah terminal. Bukan karena Linux tidak punya antarmuka grafis — tapi banyak hal di Linux lebih cepat dan efisien dikerjakan lewat baris perintah.
Mulai dari meng-install aplikasi, mengubah permission file, hingga mengelola service web server — semuanya bergantung pada perintah yang tepat.
Berikut kumpulan perintah dasar Linux yang sering digunakan, dikelompokkan per kategori agar lebih mudah dicari.
Daftar perintah dasar Linux
Navigasi direktori
| Perintah | Fungsi | Contoh |
|---|
pwd | Menampilkan path direktori saat ini | pwd → /var/www/html |
cd | Berpindah ke direktori home user | cd |
cd nama_folder | Masuk ke direktori tertentu | cd htdocs |
cd .. | Naik satu level ke direktori parent | cd .. |
cd - | Kembali ke direktori sebelumnya | cd - |
cd /path/lengkap | Berpindah ke path absolut tertentu | cd /var/www/html |
ls | Menampilkan isi direktori | ls |
ls -l | Tampilkan isi direktori dengan detail: nama, ukuran, waktu, permission, dan pemilik | ls -l |
ls -a | Tampilkan semua file termasuk file tersembunyi (diawali titik) | ls -a |
ls -lh | Tampilkan detail dengan ukuran file yang mudah dibaca (KB, MB) | ls -lh |
Manajemen file dan folder
| Perintah | Fungsi | Contoh |
|---|
touch nama_file | Membuat file baru yang kosong | touch index.php |
mkdir nama_folder | Membuat folder baru | mkdir gambar |
mkdir -p a/b/c | Membuat folder beserta subfolder sekaligus | mkdir -p assets/css/vendor |
cp fileA fileB | Menyalin fileA dan memberi nama fileB | cp config.php config.backup.php |
cp -r folderA folderB | Menyalin seluruh isi folder secara rekursif | cp -r project/ backup/ |
mv source dest | Memindahkan file atau folder ke lokasi lain | mv file.txt /var/www/html/ |
mv nama_lama nama_baru | Mengganti nama file atau folder | mv old.php new.php |
rm nama_file | Menghapus file | rm index.html |
rm -f nama_file | Menghapus file secara paksa tanpa konfirmasi | rm -f log.txt |
rm -r nama_folder | Menghapus folder beserta seluruh isinya | rm -r cache/ |
rm -rf nama_folder | Menghapus folder beserta isinya secara paksa — tidak bisa di-undo | rm -rf temp/ |
find . -name "*.php" | Mencari file berdasarkan nama di direktori saat ini | find . -name "config.php" |
find / -type f -name "*.log" | Mencari semua file dengan ekstensi tertentu di seluruh sistem | find /var -type f -name "*.log" |
Membaca dan mengedit file teks
| Perintah | Fungsi | Contoh |
|---|
cat nama_file | Menampilkan seluruh isi file ke terminal | cat config.php |
less nama_file | Menampilkan isi file dengan navigasi scroll — tekan q untuk keluar | less error.log |
head nama_file | Menampilkan 10 baris pertama file | head access.log |
head -n 20 nama_file | Menampilkan N baris pertama file | head -n 20 access.log |
tail nama_file | Menampilkan 10 baris terakhir file | tail error.log |
tail -f nama_file | Menampilkan baris baru secara real-time — berguna untuk memantau log aktif | tail -f /var/log/apache2/error.log |
grep "kata" nama_file | Mencari baris yang mengandung kata tertentu dalam file | grep "error" error.log |
grep -r "kata" folder/ | Mencari kata di semua file dalam folder secara rekursif | grep -r "mysqli" application/ |
echo "teks" | Menampilkan teks ke terminal | echo "Hello World" |
echo "teks" >> file | Menambahkan teks ke dalam file tanpa menimpa isi yang ada | echo "<?php phpinfo(); ?>" >> info.php |
nano nama_file | Membuka editor teks nano di terminal — simpan dengan Ctrl+X | nano apache2.conf |
sudoedit nama_file | Mengedit file sistem dengan hak akses root menggunakan editor default | sudoedit /etc/apache2/apache2.conf |
Permission dan kepemilikan file
| Perintah | Fungsi | Contoh |
|---|
chmod 755 file | Mengubah permission file atau folder | chmod 755 upload/ |
chmod -R 755 folder/ | Mengubah permission secara rekursif ke semua isi folder | chmod -R 644 assets/ |
chown user file | Mengubah pemilik (owner) file | chown www-data index.php |
chown user:group file | Mengubah pemilik dan grup file sekaligus | chown www-data:www-data config.php |
chown -R user folder/ | Mengubah kepemilikan secara rekursif ke seluruh isi folder | chown -R www-data /var/www/html/ |
find * -type d | xargs chmod 0755 | Mengubah permission semua folder secara massal | Lihat: panduan lengkap permission Linux |
find . -type f | xargs chmod 0644 | Mengubah permission semua file secara massal | — |
Instalasi dan manajemen paket
| Perintah | Fungsi | Contoh |
|---|
sudo apt update | Memperbarui daftar paket dari repository | sudo apt update |
sudo apt upgrade | Mengupgrade semua paket yang ter-install ke versi terbaru | sudo apt upgrade |
sudo apt install nama_paket | Meng-install paket baru | sudo apt install apache2 |
sudo apt install paket -y | Meng-install paket tanpa konfirmasi | sudo apt install php8.4 -y |
sudo apt remove nama_paket | Menghapus paket — file konfigurasi tetap tersimpan | sudo apt remove apache2 |
sudo apt purge nama_paket | Menghapus paket beserta semua file konfigurasinya | sudo apt purge apache2 |
sudo apt autoremove | Menghapus paket yang tidak lagi dibutuhkan | sudo apt autoremove |
dpkg -i file.deb | Meng-install paket dari file .deb secara manual | sudo dpkg -i vscode.deb |
dpkg -l | grep nama | Mengecek apakah paket tertentu sudah ter-install | dpkg -l | grep php |
Service dan proses sistem
| Perintah | Fungsi | Contoh |
|---|
sudo systemctl start nama | Menjalankan service | sudo systemctl start apache2 |
sudo systemctl stop nama | Menghentikan service | sudo systemctl stop mysql |
sudo systemctl restart nama | Merestart service | sudo systemctl restart apache2 |
sudo systemctl reload nama | Memuat ulang konfigurasi service tanpa restart penuh | sudo systemctl reload nginx |
sudo systemctl enable nama | Mengaktifkan service agar otomatis berjalan saat boot | sudo systemctl enable apache2 |
sudo systemctl disable nama | Menonaktifkan service agar tidak jalan otomatis saat boot | sudo systemctl disable apache2 |
sudo systemctl status nama | Mengecek status service: aktif atau tidak | sudo systemctl status mysql |
top | Menampilkan proses yang berjalan secara real-time beserta penggunaan CPU dan memori | top |
htop | Versi top yang lebih interaktif — perlu di-install terlebih dahulu | sudo apt install htop && htop |
ps aux | Menampilkan semua proses yang sedang berjalan | ps aux | grep apache |
kill PID | Menghentikan proses berdasarkan ID proses | kill 1234 |
kill -9 PID | Menghentikan proses secara paksa | kill -9 1234 |
Jaringan
| Perintah | Fungsi | Contoh |
|---|
ping host | Menguji konektivitas ke host atau IP tertentu | ping google.com |
wget URL | Men-download file dari internet | wget https://example.com/file.zip |
curl URL | Mengambil konten dari URL — lebih fleksibel dari wget untuk kebutuhan API | curl https://api.example.com/data |
ip a | Menampilkan IP address dan informasi network interface | ip a |
sudo ufw status | Mengecek status firewall Ubuntu | sudo ufw status |
sudo ufw allow port | Membuka port tertentu di firewall | sudo ufw allow 80 |
sudo ufw deny port | Menutup port tertentu di firewall | sudo ufw deny 3306 |
ssh user@host | Koneksi ke server remote via SSH | ssh root@192.168.1.1 |
Kompresi dan arsip
| Perintah | Fungsi | Contoh |
|---|
tar -czf output.tar.gz folder/ | Membuat arsip tar yang dikompresi dengan gzip | tar -czf backup.tar.gz /var/www/html/ |
tar -xzf file.tar.gz | Mengekstrak arsip .tar.gz | tar -xzf backup.tar.gz |
tar -xzf file.tar.gz -C /tujuan/ | Mengekstrak arsip ke folder tertentu | tar -xzf app.tar.gz -C /var/www/ |
zip -r output.zip folder/ | Membuat file zip dari folder | zip -r project.zip project/ |
unzip file.zip | Mengekstrak file zip | unzip project.zip |
unzip file.zip -d /tujuan/ | Mengekstrak file zip ke folder tertentu | unzip project.zip -d /var/www/html/ |
| Perintah | Fungsi | Contoh |
|---|
sudo su | Masuk sebagai superuser/root | sudo su |
whoami | Menampilkan nama user yang sedang aktif | whoami |
uname -a | Menampilkan informasi lengkap sistem operasi dan kernel | uname -a |
df -h | Menampilkan penggunaan ruang disk dalam format yang mudah dibaca | df -h |
du -sh folder/ | Menampilkan ukuran total sebuah folder | du -sh /var/www/html/ |
free -h | Menampilkan penggunaan memori RAM dan swap | free -h |
history | Menampilkan riwayat perintah yang pernah dijalankan | history |
clear | Membersihkan tampilan terminal | clear |
shutdown now | Mematikan sistem secara langsung | sudo shutdown now |
reboot | Merestart sistem | sudo reboot |
exit | Keluar dari sesi terminal atau SSH | exit |
Itu tadi perintah-perintah yang paling sering dipakai. Tidak perlu dihafal semua sekaligus — cukup kenali polanya, sisanya akan terasa natural seiring kebiasaan.
Untuk lanjut ke tahap berikutnya, bisa baca cara membuat perintah bash untuk tugas berulang — berguna kalau ada perintah panjang yang sering dipakai dan ingin dipersingkat jadi satu kata.