X

Linux Dosyalar içinde detaylı ( kelime, dosya ) arama

Linux Dosyalar içinde arama yapmak




Linux üzerinde find komutu ile dosya ya da dosyalar içinde 
gelişmiş aramalar yapabilirsiniz, 
alt dizinleri de dahil eden bu arama yöntemi için:

find komutu ile;

find . -iname '*conf' | xargs grep 'kelime' -sl
-iname ‘*conf’ bölümü aramanın sadece conf dosyalarında yapılacağını belirtir,

-iname ‘*’ yazmanız durumunda tüm dosyalarda arama yapılacaktır.

grep ‘kelime’ ise aranacak sözcüğün “kelime” olduğunu belirtir.




Sadece dosya isimleri ile arama yapmak istiyorsanız, 
arama veritabanını güncelleyip daha sonra arama yapmanızı tavsiye ederiz:

updatedb
locate dosyaadi



find ile büyük dosyaları bulmak

Aşağıdaki komut ile /dizin dizininde boyutu 100 MB ve üzeri olan dosyaları bulup 
sadece isimlerini yazdırabilirsiniz:

find /dizin/ -type f -size +100000k -exec ls -lh {} \; | awk '{ print $9 ": " $5 }'




find komutu ile dosya değiştirme ya da oluşturma tarihine göre dosyaları bulmak

Aşağıdaki komut ile /dizin dizininde iki gün önce modifiye edilmiş dosyaları bulup 
isimlerini yazdırabilirsiniz,mtime yerine ctime yazarsanız 2 gün içerisinde 
oluşturulmuş dosyaları bulursunuz:

find /dizin/ -type f -mtime -2 -exec ls -lh {} \; | awk '{ print $9 ": " $5 }'



Boş dizinleri aramak için;

find /dizin_yolu -depth -type d -empty => find /etc -depth -type d -empty



Boş dosyaları aramak için;

find /dizin_yolu -depth -type f -empty => find /etc -depth -type f -empty



Adını bildiğin nesneyi aramak için;

find /dizin -name “isim” => find /etc -name “sources.list”



Uzantısı ile bir hedefi aramak için;

find /dizin -name “*.txt” => find ~/ -name “*.txt”



İzinlerini bildiğiniz uzantıyı aramak için;
(izin değerlerini ve uzantıları arama tercihinize göre değiştirin)

find /dizin -name “*.txt” -perm 777 => find ~/ -name ‘*.txt’ -perm 644




İzinlere göre aramak için;
(izin değerlerini arama tercihinize göre değiştirin)

find /dizin -perm -izin_degeri => find ~/ -perm -644



İsmini bilip uzantısını bilmediğiniz hedefi aramak için;

find /dizin -name “dosya_ismi.*” => find /etc -name “sources.*”



Son 24 saat içinde değiştirilmiş dosyaları bulmak için;

find /dizin -mtime 0,1,2 => find ~/ -mtime 0
not:24 saat için 0, 48 saat için 1, 72 saat için 2 yazmalısınız



Son 24 saat içinde giriş yapılmış hedefleri bulmak için;

find -atime 0,1,2 => find -atime 0



Dosya sahipliğine göre arama yapmak için;

find /dizin -user kullanıcı_adı => find ~/ -user root



NOT: Eğer aramayı sistem dizinlerinde yapacaksanız yetki aldıktan sonra 
ya da komutların başına sudo ekleyerek yapmalısınız.
demiray:
Related Post