✅ Pengenalan: Kuasai Terminal Ubuntu Macam Pro
Kalau kau baru je kenal dunia Linux, khususnya Ubuntu, mungkin kau akan perasan satu benda – banyak benda dalam Linux lebih power kalau guna command line interface (CLI) atau lebih dikenali sebagai terminal. Walaupun nampak menakutkan sikit, tapi percayalah, bila kau dah biasa, CLI ni boleh buat kerja 3 kali ganda lebih laju daripada klik-klik biasa.
Artikel ni akan bantu kau faham dan kuasai beberapa command penting dalam Linux, termasuk:
grep,find,locatecat,less,head,tail- Wildcard dan pipe:
*,|,>,>>,&& - Command chaining dan redirection
- Alias dan environment variable seperti
$HOME
So kalau kau serious nak jadi power user Linux, jom kita mulakan dengan command paling popular untuk cari maklumat – grep.
🔍 Command: grep – Cari Ayat atau Perkataan Dalam Fail
grep adalah singkatan kepada "Global Regular Expression Print". Nama dia pun dah tunjuk fungsi utama dia: untuk cari baris yang ada perkataan tertentu dalam satu atau banyak fail.
📌 Kegunaan asas
Katakan kau ada fail teks bernama log.txt dan kau nak cari semua baris yang ada perkataan "error".
grep "error" log.txt
Contoh output:
[2025-07-01 12:01] error: failed to connect to server
[2025-07-01 12:03] error: timeout occurred
🔍 Cari case-insensitive (tak kira huruf besar/kecil)
grep -i "error" log.txt
Output ni akan detect perkataan error, Error, ERROR dan sebagainya.
🔍 Tunjuk nombor baris sekali
grep -n "error" log.txt
12:[2025-07-01 12:01] error: failed to connect to server
20:[2025-07-01 12:03] error: timeout occurred
🔍 Cari dalam banyak fail serentak
grep "mysql" *.log
Output akan tunjuk nama fail + baris yang ada keyword tu:
db.log:[12:10] mysql started successfully
error.log:[12:12] mysql connection refused
🔍 Guna grep dengan pipe (|)
Command ni powerful bila digabungkan dengan output command lain. Contoh:
dmesg | grep usb
Output:
[12345.678] usb 3-1: new high-speed USB device
[12345.700] usb 3-1: Manufacturer: SanDisk
So, grep bukan sekadar cari teks – dia boleh tapis output command lain juga.
🔍 Guna regex (regular expression) untuk carian lebih power
Contoh: nak cari baris yang ada nombor telefon format 3 digit dash 7 digit:
grep "[0-9]\{3\}-[0-9]\{7\}" contacts.txt
Output:
011-1234567
012-7654321
InsyaAllah bila kau dah biasa dengan grep, kau akan rasa macam tak boleh hidup tanpanya 😎
📂 Command: find – Cari Fail Dalam Folder Secara Mendalam
find digunakan untuk mencari fail atau folder dalam satu direktori dan semua sub-direktori di bawahnya. Command ni sangat fleksibel – kau boleh cari ikut nama, jenis fail, tarikh ubah suai, saiz dan macam-macam lagi.
📌 Cari fail berdasarkan nama
find . -name "report.txt"
Ini akan cari fail bernama report.txt dalam direktori semasa (dot .) dan semua subfolder.
./documents/report.txt
./backup/old/report.txt
🔍 Cari fail tanpa case sensitive
find . -iname "report.txt"
Command ni akan jumpa fail seperti Report.txt, REPORT.TXT dan sebagainya.
📂 Cari folder sahaja
find . -type d -name "project"
./client/project
./backup/2023/project
📄 Cari fail sahaja
find . -type f -name "*.log"
Ini akan cari semua fail yang berakhir dengan .log.
🗑️ Cari fail lebih lama dari 7 hari
find . -type f -mtime +7
Gunakan ni kalau kau nak cari fail yang dah lebih seminggu tak disentuh.
🧹 Delete fail lama sekaligus
find /tmp -type f -mtime +30 -delete
⚠️ Hati-hati bila guna -delete – command ni terus buang fail tanpa tanya.
🔎 Command: locate – Cari Fail Paling Laju Guna Index
locate ialah alternatif kepada find tapi jauh lebih laju sebab dia cari berdasarkan database/index fail dalam sistem. Tapi kau kena pastikan database ni dikemaskini dulu.
🛠️ Update database locate
sudo updatedb
Lepas tu, baru boleh guna locate.
📌 Contoh carian dengan locate
locate index.html
/var/www/html/index.html
/home/user/backup/index.html
🎯 Gabung dengan grep untuk tapis hasil
locate .conf | grep apache
Ni akan tunjuk semua fail .conf yang ada perkataan “apache” dalam path dia.
📎 Bandingkan: find vs locate
| Feature | find | locate |
|---|---|---|
| Real-time search | ✅ | ❌ (guna cache) |
| Laju | ❌ | ✅ |
| Perlu update database | ❌ | ✅ |
| Fleksibiliti (filter ikut size, tarikh, dsb) | ✅ | ❌ |
Kalau nak cari fail cepat-cepat – locate pilihan bijak. Tapi kalau nak kawalan lebih detail, find lebih mantap.
📖 Command: cat – Papar Isi Fail Sekaligus
cat digunakan untuk tunjuk keseluruhan isi sesuatu fail. Sesuai untuk fail pendek. Kalau fail terlalu panjang, kau kena scroll macam orang marah 😅
📌 Papar isi fail teks
cat nota.txt
Ini fail nota aku.
Baris kedua ada info penting.
Jangan lupa baca baris ketiga.
📌 Gabung fail jadi satu
cat a.txt b.txt > gabung.txt
Command ni akan hasilkan fail baru gabung.txt yang mengandungi isi dari kedua-dua fail.
📌 Nomborkan setiap baris
cat -n nota.txt
1 Ini fail nota aku.
2 Baris kedua ada info penting.
3 Jangan lupa baca baris ketiga.
📖 Command: less – Baca Fail Panjang Secara Interaktif
less sangat berguna untuk fail panjang. Kau boleh scroll ke atas, ke bawah, search teks dan keluar bila nak dengan tekan q.
📌 Buka fail besar dengan less
less /var/log/syslog
Key yang berguna dalam less:
Space: Scroll bawahb: Scroll atas/perkataan: Cari teksn: Next matchq: Quit
📖 Command: head – Tunjuk Baris Awal Fail
head sangat berguna bila kau cuma nak tengok permulaan fail, tak payah buka semua.
📌 Tunjuk 10 baris pertama
head log.txt
📌 Tunjuk 5 baris pertama
head -n 5 log.txt
[Line 1] Server started
[Line 2] Loading config
[Line 3] Connecting to DB
[Line 4] DB connected
[Line 5] Listening on port 8080
📖 Command: tail – Tunjuk Baris Akhir Fail
tail pula berguna kalau kau nak tengok baris terakhir dalam fail – contohnya untuk log sistem.
📌 Tunjuk 10 baris terakhir
tail log.txt
📌 Tunjuk 20 baris terakhir
tail -n 20 log.txt
📡 Mode real-time: ikut perubahan fail secara live
tail -f /var/log/auth.log
Command ni akan terus tunjuk baris baru yang masuk dalam fail tu – sesuai untuk pantau log secara langsung. Tekan Ctrl+C untuk keluar.
🌟 Wildcards – Guna Simbol Untuk Cari atau Proses Banyak Fail
Wildcards ni macam simbol magik dalam dunia Linux. Dengan dia, kau boleh proses fail ikut corak (pattern). Dua simbol paling famous:
*– mewakili apa saja karakter (termasuk kosong)?– mewakili satu karakter je
📁 Contoh 1: Salin semua fail .txt
cp *.txt /backup/
Command ni akan salin semua fail yang berakhir dengan .txt ke folder /backup/.
📁 Contoh 2: Padam semua fail yang bermula dengan "test"
rm test*
Command ni akan padam semua fail seperti test1.txt, test_log.log, dan sebagainya.
📁 Contoh 3: Senaraikan fail dengan nama 4 huruf sahaja
ls ????
Contoh output:
data
logs
info
read
🧪 Pipes: | – Salurkan Output Satu Command ke Command Lain
| dipanggil "pipe". Ia hantar output satu command ke command lain sebagai input. Kombinasi ni sangat power 💪
📌 Contoh 1: Tapis output dengan grep
ls -l | grep ".sh"
Tunjuk fail skrip bash je daripada output ls -l.
📌 Contoh 2: Kira jumlah fail .txt
ls *.txt | wc -l
wc -l = "word count – line", jadi dia akan kira berapa baris (fail).
🔁 Redirection: >, >> – Simpan Output ke Fail
Selalunya, output keluar di skrin. Tapi kau boleh simpan output tu dalam fail guna redirection.
📌 >: overwrite fail (replace isi lama)
ls -lh > senarai.txt
Fail senarai.txt akan mengandungi senarai fail. Kalau fail tu dah wujud, isinya akan diganti.
📌 >>: append ke akhir fail (tak buang isi lama)
date >> log.txt
Tarikh semasa akan ditambah ke akhir log.txt.
🔗 Command Chaining: &&, ;, ||
Command chaining bermaksud gabung beberapa arahan dalam satu baris.
✅ && – Laksanakan command kedua HANYA jika command pertama berjaya
mkdir report && cd report
Kalau mkdir report berjaya, baru dia teruskan cd report.
🔁 ; – Laksanakan semua command tanpa kira berjaya atau gagal
echo "Hello"; echo "World"
Hello
World
❌ || – Laksanakan command kedua HANYA jika command pertama gagal
rm dummy.txt || echo "Fail tak wujud"
Kalau dummy.txt tak wujud, dia akan echo mesej tu.
⚙️ Alias – Shortcut Command Guna Nama Sendiri
Alias ialah cara mudah untuk cipta shortcut kepada command panjang yang kau selalu guna. Contoh: Kau selalu taip command panjang macam ni:
ls -lah --color=auto
Kenapa tak jadikan dia alias pendek je? Contoh:
alias ll="ls -lah --color=auto"
Lepas ni kau cuma taip:
ll
Terus keluar output terperinci fail dan folder, siap warna.
🛠️ Cara set alias kekal (persisten)
Alias yang kau buat secara biasa akan hilang lepas reboot. Nak kekalkan?
nano ~/.bashrc
Tambahkan baris:
alias ll='ls -lah --color=auto'
Lepas tu apply semula fail bashrc:
source ~/.bashrc
🧠 Alias yang berguna
alias gs='git status'alias update='sudo apt update && sudo apt upgrade'alias c='clear'
🌍 Environment Variables – Info Sistem & Laluan Dalam Shell
Environment variable adalah pembolehubah yang diset dalam sistem untuk rujukan cepat – contohnya lokasi folder home, shell, user, path command dan sebagainya.
📌 Tengok semua environment variable aktif
printenv
Atau:
env
📌 Tengok satu-satu
echo $HOME
/home/kerol
📌 Contoh environment variable yang penting
| Nama | Fungsi |
|---|---|
$HOME |
Folder utama user sekarang |
$USER |
Nama pengguna aktif |
$PATH |
Senarai folder yang mengandungi command |
$SHELL |
Shell yang digunakan (contoh: bash, zsh) |
📂 Tambah direktori ke dalam PATH
Kalau kau ada skrip dalam folder khas, dan nak boleh run direct:
export PATH=$PATH:/home/kerol/bin
🛠️ Set environment variable kekal
nano ~/.bashrc
Tambah:
export API_KEY=1234567890abcdef
Lepas tu:
source ~/.bashrc
🧪 Gabung Alias + Variable Dalam Scripting
#!/bin/bash
# Simpan dalam backup.sh
BACKUP_DIR="$HOME/backup"
mkdir -p "$BACKUP_DIR"
cp *.txt "$BACKUP_DIR"
echo "Semua fail .txt disalin ke $BACKUP_DIR"
🎯 Penutup: Dari Noob ke Power User Dengan CLI
Kau dah belajar:
- Guna
grep,find,locateuntuk cari fail dan isi fail - Baca fail guna
cat,less,head,tail - Manipulasi output guna wildcard, pipe, redirection
- Gabung banyak command dengan chaining
- Cipta shortcut dengan
aliasdan kuasai variable sistem
Dengan semua ilmu ni, kau bukan setakat boleh survive dalam Ubuntu – kau boleh automate kerja, debug sistem, dan jimat masa berjam-jam setiap minggu ⏱️
Kalau kau konsisten praktis, kau akan perasan – kau dah tak takut terminal, malah sayang dia macam bini sendiri 😎

Catat Ulasan