Penguasaan Command Line Ubuntu: Panduan Lengkap Beginner

✅ 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, locate
  • cat, 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 bawah
  • b: Scroll atas
  • /perkataan: Cari teks
  • n: Next match
  • q: 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, locate untuk 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 alias dan 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 😎

Post a Comment

Terbaru Lebih lama