19 Nisan 2013 Cuma

Linuxda Find Komutu kullanımı


Linuxda find komutu dosya ya da dizin arama işleminde kullanılır.
Bir dosya ya da dizin bulma:
# find . -name TEMP -print
ya da
# find . -name TEMP -exec echo {} \;

Bu dizin ağacındaki kaynak dosyaları bul ve sil:
# find . -name “core” -exec rm -f {} \;

“junk” dizinleri bul ve içerikleriyle beraber sil:
# find . -name “junk” -exec rm -rf {} \;

Tekrarlanan grep’i kullanarak bir dosyada örnek bul (görmezlikten gelme durumu):
# find . -type f | xargs grep -i MYPATTERN

7 gün içerisinde düzenlenmiş dosyaları bul:
# find . -mtime -7 -type f

Belirli bir kullanıcı tarafından sahiplenilmiş dosyaları bul:
# find . -user user1

Tüm yazılabilir dizinleri bul ve listele:
# find . -perm -0777 -type d -ls
ya da
# find . -type d -perm 777 -print

Tüm yazılabilir dosyaları bul ve listele:
# find . -perm -0777 -type f -ls
ya da
#find . -type f -perm 777 -print

Büyük dosya boyutlarını bul ve listele:
# find . -type f -size +1000 -ls
ya da
# find . -type f -size +1000 -print

Yolda kaç tane dizin olduğunu bul (Mevcut dizini de sayar.):
# find . -type d -exec basename {} \; | wc -l 53

Yolda kaç tane dosya olduğunu bul:
# find . -type f -exec basename {} \; | wc -l 120

Tüm pipe dosyalarını bul ve izinlerini yazdırılabilir olarak değiştir:
# find . -name “pipe*” -exec chmod 666 {} \;

7 gün önce düzenlenen dosyaları bul ve arşivle:
# find . -type f -mtime 7 | xargs tar -cvf `date ‘+%d%m%Y’_archive.tar`

7 günden çok daha önce düzenlenen dosyaları bul ve arşivle:
# find . -type f -mtime +7 | xargs tar -cvf `date ‘+%d%m%Y’_archive.tar`

7 gün içinde düzenlenen dosyaları bul ve arşivle:
# find . -type f -mtime -7 | xargs tar -cvf `date ‘+%d%m%Y’_archive.tar`

7 ile 14 gün arasında düzenlenen dosyaları bul ve arşivle:
# find . -type f -mtime +7 -mtime -14 | xargs tar -cvf `date ‘+%d%m%Y’_archive.tar`

İki farklı dizinde “test” string’ini içeren dosyaları bul ve listele:
# find dizin1 dizin2 -name “*test*” -type f -ls

İki farklı dizinde “test” string’ini içeren dosyaları bul ve say:
# find dizin1 dizin2 -name “*test*” -type f -ls | wc -l 12

CompareFile’dan daha yeni olan dosya ve dizinleri bul:
# find . -newer CompareFile -print

CompareFile’dan daha eski olan dosya ve dizinleri bul:
# find . ! -newer CompareFile -print

Dosya ve dizinleri bul fakat belirli bir dizini dikkatle inceleme:
# find . -name RAID -prune -o -print

Mevcut dizindeki tüm dosyaları bul:
# find * -type f -print -o -type d -prune

Bir inode bul ve sil:
# find . -inum 968746 -exec rm -i {} \;

Hiç yorum yok:

Yorum Gönder