grep Komutu

Grep yani evrensel düzenli ifade yazıcısı (global regular expression printer), belirtilen pattern dahilinde bir metin yığını içerisinde belirli bir yapıya uyan ifadeleri aramaya yarayan komuttur. Belirtilen pattern belirtilen dosya içerisinde işlenerek, bu patterne uyan sonuçlar listelenerek kullanıcıya sunulur. Tek başına veya “|” (pipe) ile kullanılarak daha gelişmiş işlemler gerçekleştirilebilir.

Genel kullanım şekli;
 grep ‘aranacak-metin/pattern’ [arama-yapılacak-dizin/dosya]

Örnek kullanım;
┌─[user@parrot]─[~]
└──╼$ ls -l ~/var/www/html/*.jpg | grep rwxrwxrwx

Yukarıdaki komut pipe öncesinde ls komutu dosyaların detaylı bir listesini vermekte. | (pipe) sonrasında ise grep komutuyla listelenen satırlarda rwxrwxrwx araması yapmaktayız. rwxrwxrwx iznine uyan satırlar listelenerek kullanıcıya gösterilir.

Belirli bir kelime arama;
┌─[user@parrot]─[~]
└──╼$ grep Erhan /etc/passwd
Bu şekilde bir kullanım ile etc/passwd dosyası içerisinde Erhan kelimesini içeren satırları listeler.

Büyük/küçük harf duyarlılığını kapatarak arama yapmak için -i parametresini kullanma;
┌─[user@parrot]─[~]
└──╼$ grep –i Erhan /etc/passwd

Bir dosya içerisindeki belirtilen kelimenin olmadığı satırlar listelenmek istendiğinde -v parametresini kullanma;
┌─[user@parrot]─[~]
└──╼$ grep –v Erhan /etc/passwd
Bu şekilde bir kullanım ile etc/passwd dosyası içerisinde Erhan kelimesini içermeyen satırlar listelenir.

Bir dosya içerisinde belirtmiş olduğunuz kelimenin kaç defa kullanıldığını öğrenmek için -c veya --count parametresini kullanma;
┌─[user@parrot]─[~]
└──╼$ grep -c Erhan /etc/passwd
Bu şekilde bir kullanım ile etc/passwd dosyası içerisinde Erhan kelimesinin kaç defa kullanıldığı tespit edilir.

Belirtmiş olduğunuz patternin hedef olarak vermiş olduğunuz dizin altındaki tüm alt dizinlerde de arama yapılabilmesi için -r parametresini kullanma;
┌─[user@parrot]─[~]
└──╼$ grep –r Erhan /home/users
Bu şekilde bir kullanım ile home/users/ dizini ve altındaki tüm dizinlerde Erhan kelimesi geçen dosyaları arayacaktır.

Bir dosya içerisindeki belirtilen kelimenin olduğu satırların başka bir dosya içerisine aktarılması için “>” kullanılması;
┌─[user@parrot]─[~]
└──╼$ grep –i Erhan /etc/passwd > search.txt
Bu şekilde bir kullanım ile etc/passwd dosyası içerisinde Erhan kelimesinin geçtiği satırlar search.txt’ye aktarılır.

Belirli bir dosya uzantısına sahip dosyalar içerisinde arama yapmak için * joker karakterinin kullanılması;
┌─[user@parrot]─[~]
└──╼$ grep –i Erhan *.php
Bu şekilde bir kullanım ile içerisinde Erhan geçen dosyalar listelenir.

Arama ile ilgili Linux komutları listesine ulaşmak için bu bağlantıyı ziyaret edebilirsiniz.

Post a Comment

أحدث أقدم

Vulnerability Analysis