Terminal adalah tempat kamu menyuruh komputer lewat teks: kamu ketik satu perintah, tekan Enter, lalu sistem operasi menjalankannya dan membalas dengan teks juga. Bayangin pesan makanan lewat chat ke warung langganan. Aplikasi chat-nya cuma jendela, tempat kamu mengetik dan membaca balasan. Yang membaca pesanmu dan paham maksudnya adalah kasir di seberang. Yang benar-benar memasak adalah dapurnya. Di komputer, jendela itu disebut terminal, kasirnya disebut shell, dan dapurnya adalah sistem operasi.
🧪 Tebakan cepat: di jendela terminal yang sama, kamu salah ketik
LS(huruf besar). Sekali pakai shell bash, sekali pakai shell zsh. Pesan error-nya sama persis, atau beda? Tebak dulu, jawabannya ada di bagian "Kalau perintahnya salah ketik".
Terminal, shell, dan CLI
Tiga kata ini sering dipakai bergantian, padahal artinya beda:
- Terminal (lengkapnya terminal emulator) adalah aplikasi jendelanya: GNOME Terminal di Ubuntu, Terminal atau iTerm2 di macOS, Windows Terminal di Windows. Tugasnya menampilkan teks dan meneruskan ketikanmu, gak lebih.
- Shell adalah program di dalam jendela itu yang membaca perintahmu, memecahnya, lalu menjalankan program yang diminta. Yang paling umum bash (bawaan kebanyakan Linux) dan zsh (bawaan macOS sejak 2019). Materi ini memakai bash. Di Windows, bash bisa kamu dapat lewat WSL.
- CLI (Command Line Interface) adalah sebutan umum untuk cara kerja ketik-perintah. Lawannya GUI (Graphical User Interface): tampilan klik-klik seperti File Explorer atau Finder.
Sehari-hari orang bilang "buka terminal" untuk semuanya, dan itu gak salah. Tapi kalau ditanya bedanya: terminal itu jendelanya, shell itu program yang memproses perintah.
Prompt: tanda terminal siap menerima perintah
Begitu terminal dibuka, shell menulis sebuah prompt lalu menunggu:
budi@laptop:~$
budiadalah nama user-mu,laptopnama komputernya.~adalah folder tempat kamu berada sekarang.~singkatan dari home folder-mu, yaitu/home/budi.$artinya "siap, ketik di sini". Di zsh bawaan macOS, prompt-nya diakhiri%.
Di contoh-contoh materi ini, teks setelah prompt adalah yang kamu ketik, dan baris di bawahnya adalah balasan komputer.
Anatomi satu perintah
Perintah terdiri dari bagian-bagian yang dipisah spasi:
ls -a proyek-web
lsadalah command, kata kerjanya: tampilkan isi folder.-aadalah flag (disebut juga option): mengubah cara kerjanya.-aartinya all, tampilkan juga file tersembunyi. Flag pendek diawali-, flag panjang diawali--(misalnya--all). Beberapa flag pendek boleh digabung:-l -asama dengan-la.proyek-webadalah argument: objek yang dikerjakan, di sini folder yang mau dilihat.
Karena spasi memisahkan bagian, nama yang mengandung spasi harus diberi tanda kutip: ls "tugas kuliah".
Perintah pertamamu
Ini terminal di laptop Budi, dengan output yang benar-benar dicetak bash di Linux:
budi@laptop:~$ whoami
budi
budi@laptop:~$ pwd
/home/budi
budi@laptop:~$ ls
Documents Downloads proyek-web
budi@laptop:~$ ls proyek-web
error.log index.html logs script.js src style.css
budi@laptop:~$ ls -a proyek-web
. .. .env error.log index.html logs script.js src style.css
budi@laptop:~$ echo "Halo, Terminal"
Halo, Terminal
whoamimencetak nama user yang sedang login.pwd(print working directory) mencetak folder tempat kamu berdiri, lengkap dari akarnya.lsmenampilkan isi folder. Di Ubuntu, nama folder diwarnai biru.ls -a proyek-webmenampilkan 3 nama tambahan:.env(file yang namanya diawali titik disembunyikan),.(folder ini sendiri), dan..(folder induknya).echomencetak ulang teks yang kamu kasih.clear(atau Ctrl+L) membersihkan layar. Riwayat perintahmu gak hilang.
Siapa yang mengerjakan semua itu? Shell memecah baris yang kamu ketik, lalu mencari program bernama ls di folder program seperti /usr/bin, dan menjalankannya. Beberapa perintah, seperti cd, pwd, dan echo, adalah builtin: dikerjakan shell sendiri tanpa memanggil program lain.
Kalau perintahnya salah ketik
Huruf besar dan kecil dibedakan. LS bukan ls, jadi shell gak menemukan program bernama LS:
budi@laptop:~$ LS
bash: LS: command not found
Pesan itu ditulis oleh shell, dan tiap shell punya gaya sendiri. Di jendela yang sama dengan zsh, pesannya zsh: command not found: LS. Jendelanya gak berubah, yang berubah shell-nya. Itu jawaban tebakannya.
Bandingkan dengan error dari program-nya sendiri:
budi@laptop:~$ ls proyek
ls: cannot access 'proyek': No such file or directory
Yang ini ditulis oleh ls, jadi isinya sama persis di bash maupun zsh. Baca pesan error pelan-pelan: biasanya dia menyebut siapa yang protes (ls), apa yang dicari ('proyek'), dan masalahnya (folder itu gak ada).
Shortcut yang langsung kepakai
| Tombol | Fungsinya |
|---|---|
Tab |
Melengkapi nama perintah, file, atau folder yang baru kamu ketik sebagian |
↑ / ↓ |
Memanggil lagi perintah sebelumnya |
Ctrl+C |
Menghentikan perintah yang sedang jalan (bukan copy) |
Ctrl+L |
Membersihkan layar, sama seperti clear |
Ctrl+Shift+C / Ctrl+Shift+V |
Copy dan paste di terminal Linux. Di macOS tetap Cmd+C / Cmd+V |
💡 Kenapa developer masih pakai terminal
- Server gak punya layar. Website-mu nanti jalan di komputer lain yang nyala 24 jam. Kamu mengaturnya lewat terminal dari jauh.
- Banyak alat developer cuma punya CLI. Git, npm, dan alat build dijalankan dengan mengetik perintah.
- Bisa diulang. Perintah yang sama memberi hasil yang sama, bisa di-copy ke teman, dan bisa disimpan jadi script yang jalan otomatis.
⚠️ Jebakan yang sering ketemu
- Menyamakan terminal dan shell. Terminal cuma jendela yang menampilkan teks. Yang membaca dan menjalankan perintah adalah shell (bash, zsh, fish).
- Huruf besar-kecil.
LSbukanls, dandocumentsbukanDocuments. Di Linux, keduanya beda nama. macOS biasanya gak peduli secara bawaan, tapi jangan mengandalkan itu. - Spasi di nama file.
ls tugas kuliahdibaca sebagai dua argumen,tugasdankuliah. Pakai tanda kutip:ls "tugas kuliah". - Menempel perintah yang gak kamu pahami. Hampir semua perintah aman, tapi perintah dari internet yang berisi
sudoataurm -rfbisa mengubah atau menghapus banyak hal. Pahami dulu, baru jalankan.
TL;DR: Terminal adalah jendela untuk menyuruh sistem operasi lewat teks, shell (bash, zsh) adalah program di dalamnya yang membaca dan menjalankan perintah, dan CLI adalah sebutan umum cara kerja ketik-perintah, lawan GUI. Prompt budi@laptop:~$ menandakan shell siap. Satu perintah terdiri dari command, flag (diawali -), dan argument, dipisah spasi. Mulai dengan whoami, pwd, ls, ls -a, echo, dan clear. Di Linux huruf besar-kecil dibedakan, command not found datang dari shell, dan Tab, ↑, serta Ctrl+C adalah shortcut pertama yang perlu kamu biasakan.