Pencarian di Terminal [Find, Grep]

Share this post on:

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

Share this post on:

Author: Novian

Seorang yang sangat penasaran dengan cara sesuatu bekerja, mencoba memahami semua hal yang terjadi atas apa yang telah terlimitasi oleh lingkup semesta

View all posts by Novian >

Leave a Reply

Your email address will not be published. Required fields are marked *