Mencari semua file dengan format .txt pada direktori /home/user/berkas
find /home/berkas/docs -type f -name "*.txt"
path : /home/user/berkas
-type f : khusus mencari file
-name : string
Mencari file data.pl pada lokasi saat ini.
find . -type f -name "data.pl"
. : lokasi saat ini (direktori aktif)
Mencari nama folder
find /home/user -type d -name "dir*"
-type d : khusus mencari direktori/folder
dir* : mencari semua nama folder dengan awalan “dir”
Pencarian dengan Grep, mencari tulisan “you” pada file “catatan.txt”
grep -in "anjay" catatan.txt
-in : -i untuk case-insensitive, -n untuk menampilkan baris setiap string yang ditemukan
“anjay” : string yang ingin dicari
Mencari spesifik String pada semua file atau direktori
grep -iRn "gacor" .
-i : tidak peduli huruf besar/kecil
-n: letak baris kode
-R : recursive (mencari sampai kedalam folder dan file)
. : lokasi direktori aktif
[Contoh kasus kombinasi pencarian]
Looping dengan hasil grep
grep -l "password" *.php | while read file; do
echo "Ditemukan di: $file"
done
Mencari file PHP yang mengandung kata password dan menampilkannya satu per satu.
Menggunakan grep untuk kondisi if
if grep -q "Active" status.txt; then
echo "Status aktif"
else
echo "Status tidak aktif"
fi
Mengecek apakah string “Active” ada dalam file status.txt.
Menggabungkan dengan find
find . -type f -name "*.txt" -exec grep -H "keyword" {} \;
Mencari “keyword” di semua file .txt dari direktori saat ini secara rekursif.
Menghapus baris tertentu dari file (non-destruktif)
grep -v "temporary" data.txt > data_bersih.txt
Menyaring semua baris kecuali yang mengandung “temporary”.
Mengambil nama user dari file passwd (manipulasi string)
grep "/bin/bash" /etc/passwd | cut -d: -f1
cut : perintah untuk memotong (mengekstrak) kolom teks dari suatu input.
-d: delimiter (pemisah kolom) adalah titik dua :.
-f1 : ambil kolom pertama (yaitu username).
Menyaring Gagal Login dari IP Tertentu
grep "Failed password" /var/log/auth.log | grep "192.168.1.2"
Menampilkan Daftar IP yang Melakukan Gagal Login
grep "Failed password" /var/log/auth.log | awk '{print $(NF-3)}' | sort | uniq -c | sort -nr
$(NF-3) adalah field IP (ketiga dari belakang)
sort | uniq -c: menghitung berapa kali IP muncul
sort -nr: urutkan dari yang paling sering
Menggunakan Bash Loop untuk Blokir IP yang Mencurigakan
grep "Failed password" /var/log/auth.log | awk '{print $(NF-3)}' | sort | uniq -c | awk '$1 > 5 {print $2}' | while read ip; do
echo "Blokir IP : $ip"
done
