Menguasai Command Line Linux Dasar yang Wajib Kamu Tahu
Oke, siap-siap ya, kita bakal ngobrolin soal command line atau baris perintah di Linux. Mungkin pas pertama kali lihat layar hitam dengan tulisan putih kedap-kedip, rasanya agak serem atau kayak film hacker jadul. Tapi tenang aja, command line interface (CLI) ini sebenarnya teman baik kamu banget, lho, apalagi kalau kamu mau serius di dunia IT, programming, atau sysadmin. CLI ini ibaratnya superpower yang bikin kamu bisa ngontrol sistem Linux secara langsung, cepat, dan efisien. Jauh lebih powerful daripada sekadar klik-klik di Graphical User Interface (GUI).
Kenapa sih masih relevan banget belajar CLI di zaman serba grafis ini? Jawabannya simpel: efisiensi, kontrol penuh, otomatisasi, dan akses remote. Banyak server di dunia ini jalan tanpa GUI (mode headless) untuk menghemat sumber daya, jadi satu-satunya cara ngobrol sama server itu ya lewat CLI, biasanya pakai SSH (Secure Shell). Plus, banyak tools canggih buat developer dan sysadmin itu optimalnya jalan di CLI. Jadi, yuk kita mulai petualangan menguasai dasar-dasar CLI Linux yang wajib kamu tahu!
Membuka Gerbang: Terminal Emulator
Pertama, kamu butuh akses ke terminal. Di kebanyakan distribusi Linux (Ubuntu, Fedora, Mint, dll.), kamu bisa cari aplikasi bernama "Terminal". Kalau kamu pakai macOS, aplikasi "Terminal" juga udah bawaan. Nah, buat pengguna Windows, sekarang ada Windows Subsystem for Linux (WSL) yang keren banget, memungkinkan kamu menjalankan lingkungan Linux, termasuk terminal Bash-nya, langsung di dalam Windows. Tinggal install aja dari Microsoft Store.
Setelah terminal kebuka, kamu akan disambut sama yang namanya prompt. Biasanya bentuknya kayak namauser@namahost:~$
. Ini artinya shell (program yang nerjemahin perintah kamu ke sistem operasi, biasanya Bash di Linux) udah siap nerima perintah dari kamu. Tanda ~
itu nunjukkin kamu lagi ada di direktori home, dan $
artinya kamu masuk sebagai pengguna biasa (kalau #
berarti kamu root atau superuser, hati-hati ya kalau pakai ini!).
Navigasi Dasar: Pindah-Pindah Direktori Kayak Ninja
Hal paling dasar yang perlu kamu kuasai adalah pindah-pindah antar direktori (folder). Ini perintah-perintah kuncinya:
pwd
(Print Working Directory): Perintah ini simpel banget gunanya, cuma buat nunjukkin kamu lagi ada di direktori mana sekarang. Berguna banget kalau kamu mulai bingung udah "nyasar" ke mana.
* Contoh: pwd
* Outputnya mungkin kayak: /home/namauser
ls
(List): Buat ngintip isi direktori tempat kamu berada sekarang. Perintah ini punya banyak "teman" alias opsi yang bikin dia makin berguna:
* ls
: Nampilin daftar file dan direktori aja. ls -l
: Nampilin daftar dalam format panjang (long), termasuk informasi izin akses (permission), pemilik (owner*), grup, ukuran file, dan tanggal modifikasi terakhir. Ini sering banget dipakai. ls -a
: Nampilin semua file, termasuk file tersembunyi (hidden files*) yang biasanya namanya diawali titik (.
). Penting buat lihat file konfigurasi. * ls -al
atau ls -la
: Gabungan -a
dan -l
, nampilin semua file dalam format panjang. Ini kombinasi favorit banyak orang. ls -lh
: Mirip -l
, tapi ukuran filenya ditampilin dalam format yang lebih gampang dibaca manusia (human-readable*), kayak KB, MB, GB. * Kamu juga bisa nentuin direktori mana yang mau dilihat isinya, misal: ls /var/log
atau ls -l Documents/
.
cd
(Change Directory): Ini perintah buat pindah direktori. Super penting!
* cd nama_direktori
: Pindah ke subdirektori di dalam direktori saat ini. Contoh: cd Documents
. cd ..
: Pindah satu tingkat ke direktori induk (parent directory*). Kalau kamu di /home/namauser/Documents
, perintah ini bakal bawa kamu ke /home/namauser
. * cd ../..
: Pindah dua tingkat ke atas. cd /
: Pindah langsung ke direktori root* (direktori paling atas di sistem). cd ~
atau cd
(tanpa argumen): Pindah langsung ke direktori home* kamu (/home/namauser
). Praktis banget! * cd -
: Pindah ke direktori terakhir yang kamu kunjungi sebelumnya. Berguna kalau bolak-balik antara dua direktori. * Kamu bisa pakai path absolut (mulai dari /
) atau path relatif (mulai dari direktori saat ini). Contoh path absolut: cd /var/www/html
. Contoh path relatif: cd ../ProjectLama/src
.
Tips Pro Navigasi: Gunakan tombol Tab
! Ini fitur auto-completion. Coba ketik sebagian nama file atau direktori, terus tekan Tab
. Kalau namanya unik, shell bakal otomatis melengkapinya. Kalau ada beberapa kemungkinan, tekan Tab
dua kali buat nampilin semua opsi. Ini hemat waktu banget dan ngurangin salah ketik.
Mengelola File dan Direktori: Bikin, Salin, Pindahin, Hapus
Setelah bisa jalan-jalan, saatnya belajar ngatur file dan direktori.
mkdir
(Make Directory): Buat bikin direktori baru.
* Contoh: mkdir projectbaru (bikin direktori bernama projectbaru
di lokasi saat ini). * Contoh: mkdir -p project_baru/assets/images
(opsi -p
bikin direktori induknya sekalian kalau belum ada, jadi assets
bakal dibuat juga kalau belum ada).
rmdir
(Remove Directory): Buat hapus direktori kosong. Kalau direktorinya ada isinya, perintah ini bakal gagal.
* Contoh: rmdir direktori_kosong
touch
: Perintah ini punya dua fungsi utama:
* Kalau filenya belum ada, touch
bakal bikin file kosong baru. Contoh: touch catatan.txt
. Kalau filenya udah ada, touch
bakal memperbarui waktu akses dan modifikasi file tersebut ke waktu saat ini, tanpa mengubah isinya. Berguna buat beberapa skrip atau proses build*.
cp
(Copy): Buat nyalin file atau direktori.
* cp filesumber filetujuan
: Nyalin filesumber jadi filetujuan
di lokasi yang sama. * cp filesumber direktoritujuan/
: Nyalin filesumber ke dalam direktoritujuan
. * cp file1 file2 file3 direktori_tujuan/
: Nyalin beberapa file sekaligus ke satu direktori tujuan. * cp -r direktorisumber direktoritujuan/
: Nyalin direktori beserta seluruh isinya secara rekursif (opsi -r
atau -R
). Ini penting banget kalau mau nyalin folder. cp -v
: Opsi verbose*, nampilin file apa aja yang lagi disalin.
mv
(Move): Perintah ini punya dua fungsi:
* Memindahkan file atau direktori dari satu lokasi ke lokasi lain. Contoh: mv laporan.docx Documents/
. Mengganti nama file atau direktori. Contoh: mv catatanlama.txt catatanrevisi.txt
(kalau sumber dan tujuannya di direktori yang sama, ini sama aja kayak rename*). Sama kayak cp
, bisa mindahin beberapa file/direktori sekaligus ke satu direktori tujuan. Contoh: mv
.jpg ../GambarLiburan/
(mindahin semua file .jpg
ke direktori Gambar
Liburan
di level atas).
rm
(Remove): Perintah buat hapus file atau direktori. HATI-HATI BANGET PAKAI PERINTAH INI! File yang dihapus pakairm
biasanya nggak masuk ke Trash Bin, jadi susah (atau kadang nggak mungkin) buat dikembaliin.
* rm nama_file
: Hapus file. * rm file1 file2
: Hapus beberapa file. * rm -r nama_direktori
: Hapus direktori beserta seluruh isinya secara rekursif. SANGAT BERBAHAYA kalau nggak hati-hati. rm -f nama_file
: Hapus paksa (force), nggak akan nanya konfirmasi meskipun filenya read-only*. * rm -rf nama_direktori
: Kombinasi maut, hapus direktori dan isinya secara paksa tanpa konfirmasi. GUNAKAN DENGAN SANGAT HATI-HATI! Selalu cek ulang kamu ada di direktori mana (pwd
) dan apa yang mau kamu hapus sebelum menekan Enter. Salah hapus bisa fatal.
Mengintip Isi File: Baca Tanpa Buka Editor
Kadang kamu cuma perlu lihat isi file teks tanpa perlu ngedit. Ini beberapa perintah andalan:
cat
(Concatenate): Nampilin seluruh isi file ke terminal. Cocok buat file pendek. Kalau filenya panjang banget, terminal kamu bakal kebanjiran teks.
* Contoh: cat file_konfigurasi.conf
* Bisa juga buat gabungin file: cat file1.txt file2.txt > filegabungan.txt (isi file1 dan file2 digabung dan disimpan ke filegabungan.txt
).
less
: Ini pager yang lebih canggih daricat
. Dia nampilin isi file per halaman. Kamu bisa navigasi naik-turun pakai tombol panah, PageUp/PageDown, cari teks pakai/
, dan keluar pakaiq
. Jauh lebih nyaman buat baca file panjang.
* Contoh: less log_aplikasi.log
more
: Miripless
tapi lebih jadul dan fiturnya lebih terbatas. Nampilin per halaman, tekan Spasi buat ke halaman berikutnya,q
buat keluar. Biasanyaless
lebih disukai.
* Contoh: more README.md
head
: Nampilin beberapa baris pertama dari file (defaultnya 10 baris).
* Contoh: head data_besar.csv
* head -n 20 data_besar.csv
: Nampilin 20 baris pertama.
tail
: Kebalikannyahead
, nampilin beberapa baris terakhir dari file (defaultnya 10 baris). Berguna banget buat lihat log terbaru.
* Contoh: tail /var/log/syslog
* tail -n 50 /var/log/syslog
: Nampilin 50 baris terakhir. tail -f /var/log/syslog
: Opsi -f
(follow) ini ajaib. Dia bakal tetap nampilin baris baru yang ditambahkan ke file secara real-time. Cocok banget buat monitoring* log aplikasi atau sistem. Tekan Ctrl+C buat berhenti.
Mencari Sesuatu: Grep adalah Sahabatmu
Perintah grep
(Global Regular Expression Print) ini super duper berguna buat nyari teks atau pola tertentu di dalam file.
grep "katakunci" namafile
: Nyari baris yang mengandung "katakunci" di dalamnama
file
.
grep -i "katakunci" namafile
: Nyari tanpa peduli huruf besar/kecil (ignore case*).
grep -r "kata_kunci" direktori/
: Nyari secara rekursif di semua file dalamdirektori
dan subdirektorinya.
grep -v "katakunci" namafile
: Nampilin semua baris yang tidak mengandung "kata_kunci" (invert match*).
grep -n "katakunci" namafile
: Nampilin nomor barisnya juga.
grep -E "pola|regex"
: Menggunakan extended regular expression* buat pencarian pola yang lebih kompleks.
grep
sering banget dikombinasikan dengan perintah lain pakai pipe (|
), nanti kita bahas.
Sedikit tentang Izin Akses (Permissions)
Di Linux, setiap file dan direktori punya izin akses. Kamu bisa lihat ini pakai ls -l
. Outputnya bakal ada bagian kayak -rw-r--r--
. Ini ngatur siapa aja yang boleh baca (read, r
), nulis (write, w
), dan eksekusi (execute, x
) file tersebut. Ada tiga kelompok: pemilik file (user), grup pemilik (group), dan pengguna lain (others).
chmod
(Change Mode): Buat ngubah izin akses.
* Contoh: chmod +x skripku.sh
(nambahin izin eksekusi buat semua). * Contoh: chmod 755 nama_file
(ngatur izin pakai angka oktal: 7=rwx, 5=r-x. Jadi, pemilik bisa rwx, grup dan lainnya cuma r-x). * Contoh: chmod u=rwx,g=rx,o=r nama_file
(ngatur pakai simbol: u=user, g=group, o=others). chown
(Change Owner): Buat ngubah pemilik dan grup file/direktori. Biasanya butuh hak akses root* (pakai sudo
). * Contoh: sudo chown namauser:namagrup file.txt
Mengintip Proses yang Berjalan
Kadang kamu perlu tahu program apa aja yang lagi jalan di sistem kamu.
ps
(Process Status): Nampilin proses yang lagi jalan.
* ps aux
: Kombinasi opsi yang populer, nampilin semua proses dari semua pengguna dalam format detail. top
: Nampilin daftar proses yang lagi jalan secara real-time*, diurutin berdasarkan penggunaan CPU. Kamu bisa lihat penggunaan memori, CPU, siapa pemilik proses, dll. Tekan q
buat keluar.
htop
: Versitop
yang lebih interaktif dan berwarna-warni. Biasanya perlu diinstall dulu (sudo apt install htop
atausudo dnf install htop
). Lebih enak dilihat dan dipakai.
kill
: Buat "membunuh" atau menghentikan paksa proses yang bandel atau hang. Kamu perlu tahu Process ID* (PID) dari prosesnya (bisa dilihat pakai ps
atau top
/htop
). * Contoh: kill PID_proses
(ngirim sinyal TERM, minta baik-baik buat berhenti). * Contoh: kill -9 PID_proses
(ngirim sinyal KILL, paksa berhenti, cara terakhir kalau cara baik-baik nggak mempan).
Sedikit Jaringan Dasar
ping
: Buat ngecek koneksi ke host* lain (misal server atau website). * Contoh: ping google.com
(Tekan Ctrl+C buat berhenti).
ip addr
(atauifconfig
di sistem lama): Buat nampilin informasi konfigurasi jaringan di komputer kamu, termasuk alamat IP.
Manajemen Paket (Install Aplikasi)
Cara install, update, dan hapus software di Linux biasanya pakai manajer paket. Perintahnya beda-beda tergantung distribusi:
- Debian/Ubuntu/Mint: Pakai
apt
.
* sudo apt update
: Sinkronisasi daftar paket dari repositori. * sudo apt upgrade
: Update semua paket yang terinstall ke versi terbaru. * sudo apt install nama_paket
: Install paket baru. * sudo apt remove nama_paket
: Hapus paket. * apt search kata_kunci
: Cari paket.
- Fedora/CentOS/RHEL: Pakai
dnf
(duluyum
).
* sudo dnf check-update
: Cek update. * sudo dnf upgrade
: Update semua paket. * sudo dnf install nama_paket
: Install paket baru. * sudo dnf remove nama_paket
: Hapus paket. * dnf search kata_kunci
: Cari paket.
- Arch Linux: Pakai
pacman
.
* sudo pacman -Syu
: Sinkronisasi dan update sistem. * sudo pacman -S nama_paket
: Install paket baru. * sudo pacman -Rns nama_paket
: Hapus paket dan dependensinya yang nggak perlu. * pacman -Ss kata_kunci
: Cari paket.
Jangan Lupa Bantuan!
Kalau bingung soal suatu perintah, Linux punya sistem bantuan bawaan:
man
(Manual): Nampilin halaman manual dari suatu perintah. Lengkap banget.
* Contoh: man ls
(tampilin manual ls
, navigasi kayak less
, tekan q
buat keluar).
--help
: Kebanyakan perintah punya opsi--help
yang nampilin ringkasan penggunaan dan opsi-opsinya. Lebih singkat dariman
.
* Contoh: ls --help
Tips Tambahan Biar Makin Jago
- Pipa (
|
): Ini konsep keren banget. Kamu bisa mengalirkan output dari satu perintah buat jadi input ke perintah lain.
* Contoh: ls -l | grep ".txt"
(Nampilin daftar file format panjang, terus hasilnya disaring sama grep
buat nampilin baris yang ada ".txt" aja). * Contoh: ps aux | grep "nginx"
(Cari proses yang namanya mengandung "nginx").
- Pengalihan Arah (Redirection):
* >
: Mengalihkan output ke file (menimpa isi file kalau udah ada). Contoh: ls -l > daftar_file.txt
. * >>
: Mengalihkan output ke file (menambahkan di akhir file kalau udah ada). Contoh: echo "Log baru" >> log.txt
. * <
: Mengambil input dari file. Contoh: sort < daftar_nama.txt
.
- Alias: Bikin singkatan buat perintah panjang yang sering kamu pakai. Edit file konfigurasi shell kamu (misal
~/.bashrc
atau~/.zshrc
), tambahin baris kayakalias ll='ls -alF'
, simpan, terus jalankansource ~/.bashrc
(atau buka terminal baru). Sekarang ketikll
sama aja kayakls -alF
. - Latihan: Kunci utama ya cuma latihan. Coba-coba perintah ini di sistem Linux kamu (atau pakai VM/WSL biar aman). Jangan takut salah (kecuali pas pakai
rm -rf
!). - Mulai dari yang Simpel: Nggak usah langsung hafalin semua opsi. Pahami dulu fungsi dasar tiap perintah, nanti opsi-opsi tambahannya bakal ngikut seiring kebutuhan.
- Lihat Orang Lain: Perhatiin gimana developer atau sysadmin lain pakai CLI. Banyak trik dan kombinasi perintah efisien yang bisa dipelajari.
Menguasai command line Linux itu investasi jangka panjang buat karir kamu di dunia teknologi. Awalnya mungkin butuh penyesuaian, tapi begitu kamu udah nyaman, kamu bakal ngerasain betapa cepat dan powerful-nya bekerja pakai CLI. Perintah-perintah dasar yang kita bahas ini baru permulaan, tapi udah cukup banget buat bikin kamu bisa bekerja secara efektif di lingkungan Linux. Jadi, selamat mencoba dan terus eksplorasi dunia CLI yang luas ini!