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

PerintahFungsiContoh
pwdMenampilkan path direktori saat inipwd/var/www/html
cdBerpindah ke direktori home usercd
cd nama_folderMasuk ke direktori tertentucd htdocs
cd ..Naik satu level ke direktori parentcd ..
cd -Kembali ke direktori sebelumnyacd -
cd /path/lengkapBerpindah ke path absolut tertentucd /var/www/html
lsMenampilkan isi direktorils
ls -lTampilkan isi direktori dengan detail: nama, ukuran, waktu, permission, dan pemilikls -l
ls -aTampilkan semua file termasuk file tersembunyi (diawali titik)ls -a
ls -lhTampilkan detail dengan ukuran file yang mudah dibaca (KB, MB)ls -lh

Manajemen file dan folder

PerintahFungsiContoh
touch nama_fileMembuat file baru yang kosongtouch index.php
mkdir nama_folderMembuat folder barumkdir gambar
mkdir -p a/b/cMembuat folder beserta subfolder sekaligusmkdir -p assets/css/vendor
cp fileA fileBMenyalin fileA dan memberi nama fileBcp config.php config.backup.php
cp -r folderA folderBMenyalin seluruh isi folder secara rekursifcp -r project/ backup/
mv source destMemindahkan file atau folder ke lokasi lainmv file.txt /var/www/html/
mv nama_lama nama_baruMengganti nama file atau foldermv old.php new.php
rm nama_fileMenghapus filerm index.html
rm -f nama_fileMenghapus file secara paksa tanpa konfirmasirm -f log.txt
rm -r nama_folderMenghapus folder beserta seluruh isinyarm -r cache/
rm -rf nama_folderMenghapus folder beserta isinya secara paksa — tidak bisa di-undorm -rf temp/
find . -name "*.php"Mencari file berdasarkan nama di direktori saat inifind . -name "config.php"
find / -type f -name "*.log"Mencari semua file dengan ekstensi tertentu di seluruh sistemfind /var -type f -name "*.log"

Membaca dan mengedit file teks

PerintahFungsiContoh
cat nama_fileMenampilkan seluruh isi file ke terminalcat config.php
less nama_fileMenampilkan isi file dengan navigasi scroll — tekan q untuk keluarless error.log
head nama_fileMenampilkan 10 baris pertama filehead access.log
head -n 20 nama_fileMenampilkan N baris pertama filehead -n 20 access.log
tail nama_fileMenampilkan 10 baris terakhir filetail error.log
tail -f nama_fileMenampilkan baris baru secara real-time — berguna untuk memantau log aktiftail -f /var/log/apache2/error.log
grep "kata" nama_fileMencari baris yang mengandung kata tertentu dalam filegrep "error" error.log
grep -r "kata" folder/Mencari kata di semua file dalam folder secara rekursifgrep -r "mysqli" application/
echo "teks"Menampilkan teks ke terminalecho "Hello World"
echo "teks" >> fileMenambahkan teks ke dalam file tanpa menimpa isi yang adaecho "<?php phpinfo(); ?>" >> info.php
nano nama_fileMembuka editor teks nano di terminal — simpan dengan Ctrl+Xnano apache2.conf
sudoedit nama_fileMengedit file sistem dengan hak akses root menggunakan editor defaultsudoedit /etc/apache2/apache2.conf

Permission dan kepemilikan file

PerintahFungsiContoh
chmod 755 fileMengubah permission file atau folderchmod 755 upload/
chmod -R 755 folder/Mengubah permission secara rekursif ke semua isi folderchmod -R 644 assets/
chown user fileMengubah pemilik (owner) filechown www-data index.php
chown user:group fileMengubah pemilik dan grup file sekaliguschown www-data:www-data config.php
chown -R user folder/Mengubah kepemilikan secara rekursif ke seluruh isi folderchown -R www-data /var/www/html/
find * -type d | xargs chmod 0755Mengubah permission semua folder secara massalLihat: panduan lengkap permission Linux
find . -type f | xargs chmod 0644Mengubah permission semua file secara massal

Instalasi dan manajemen paket

PerintahFungsiContoh
sudo apt updateMemperbarui daftar paket dari repositorysudo apt update
sudo apt upgradeMengupgrade semua paket yang ter-install ke versi terbarusudo apt upgrade
sudo apt install nama_paketMeng-install paket barusudo apt install apache2
sudo apt install paket -yMeng-install paket tanpa konfirmasisudo apt install php8.4 -y
sudo apt remove nama_paketMenghapus paket — file konfigurasi tetap tersimpansudo apt remove apache2
sudo apt purge nama_paketMenghapus paket beserta semua file konfigurasinyasudo apt purge apache2
sudo apt autoremoveMenghapus paket yang tidak lagi dibutuhkansudo apt autoremove
dpkg -i file.debMeng-install paket dari file .deb secara manualsudo dpkg -i vscode.deb
dpkg -l | grep namaMengecek apakah paket tertentu sudah ter-installdpkg -l | grep php

Service dan proses sistem

PerintahFungsiContoh
sudo systemctl start namaMenjalankan servicesudo systemctl start apache2
sudo systemctl stop namaMenghentikan servicesudo systemctl stop mysql
sudo systemctl restart namaMerestart servicesudo systemctl restart apache2
sudo systemctl reload namaMemuat ulang konfigurasi service tanpa restart penuhsudo systemctl reload nginx
sudo systemctl enable namaMengaktifkan service agar otomatis berjalan saat bootsudo systemctl enable apache2
sudo systemctl disable namaMenonaktifkan service agar tidak jalan otomatis saat bootsudo systemctl disable apache2
sudo systemctl status namaMengecek status service: aktif atau tidaksudo systemctl status mysql
topMenampilkan proses yang berjalan secara real-time beserta penggunaan CPU dan memoritop
htopVersi top yang lebih interaktif — perlu di-install terlebih dahulusudo apt install htop && htop
ps auxMenampilkan semua proses yang sedang berjalanps aux | grep apache
kill PIDMenghentikan proses berdasarkan ID proseskill 1234
kill -9 PIDMenghentikan proses secara paksakill -9 1234

Jaringan

PerintahFungsiContoh
ping hostMenguji konektivitas ke host atau IP tertentuping google.com
wget URLMen-download file dari internetwget https://example.com/file.zip
curl URLMengambil konten dari URL — lebih fleksibel dari wget untuk kebutuhan APIcurl https://api.example.com/data
ip aMenampilkan IP address dan informasi network interfaceip a
sudo ufw statusMengecek status firewall Ubuntusudo ufw status
sudo ufw allow portMembuka port tertentu di firewallsudo ufw allow 80
sudo ufw deny portMenutup port tertentu di firewallsudo ufw deny 3306
ssh user@hostKoneksi ke server remote via SSHssh root@192.168.1.1

Kompresi dan arsip

PerintahFungsiContoh
tar -czf output.tar.gz folder/Membuat arsip tar yang dikompresi dengan gziptar -czf backup.tar.gz /var/www/html/
tar -xzf file.tar.gzMengekstrak arsip .tar.gztar -xzf backup.tar.gz
tar -xzf file.tar.gz -C /tujuan/Mengekstrak arsip ke folder tertentutar -xzf app.tar.gz -C /var/www/
zip -r output.zip folder/Membuat file zip dari folderzip -r project.zip project/
unzip file.zipMengekstrak file zipunzip project.zip
unzip file.zip -d /tujuan/Mengekstrak file zip ke folder tertentuunzip project.zip -d /var/www/html/

Informasi sistem dan utilitas

PerintahFungsiContoh
sudo suMasuk sebagai superuser/rootsudo su
whoamiMenampilkan nama user yang sedang aktifwhoami
uname -aMenampilkan informasi lengkap sistem operasi dan kerneluname -a
df -hMenampilkan penggunaan ruang disk dalam format yang mudah dibacadf -h
du -sh folder/Menampilkan ukuran total sebuah folderdu -sh /var/www/html/
free -hMenampilkan penggunaan memori RAM dan swapfree -h
historyMenampilkan riwayat perintah yang pernah dijalankanhistory
clearMembersihkan tampilan terminalclear
shutdown nowMematikan sistem secara langsungsudo shutdown now
rebootMerestart sistemsudo reboot
exitKeluar dari sesi terminal atau SSHexit

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.