Unix & GNU/Linux : Find Komutunun Örneklerle Kullanımı.

gnu-linux-tux-coffee-logoMerhabalar

Bu yazıda Unix ve GNU/Linux tabanlı işletim sistemlerinde kullanılan find komutunun örnekler halinde kullanımına değineceğim. Find komutu dosya aramak, dosya boyutlarını listelemek gibi ileri düzey farklı işlevler içinde kullanılmaktadır.

Find komutunun detaylarına bakalım.

1. Sistem üzerinde log.txt ismi olan dosyaları listelemek isterseniz aşağıdaki komutu kullanabilirsiniz.

2. Sistem üzerinde log.txt ismi geçen dosyaları listelemek isterseniz aşağıdaki komutu kullanabilirsiniz. Örneğin, bir path dosyanın içerisinde log.txt ismi geçiyor ise listeyecektir. Basit bir örnek verelim, ( blabla.log.txt.blabla gibi.)

 

3. Sistem üzerinde log adında bir dizin aramak isterseniz aşağıdaki komut kullanılabilir.

4. Bir dosya ararken büyük/küçük harf duyarsızlığını aktif etmek isterseniz aşağıdaki komuta        -iname parametresi eklenebilir.

5. Belirli bir dizin içerisinde bir dosya aramak isterseniz aşağıdaki gibi bir komut kullanabilirsiniz. Örnek, /home dizini içerisinde log.txt dosyasını bulmak için,

Find “Size” Seçenekleri

k : kilobytes   (1024 bytes)

M : megabytes  (1024 kilobytes)

G : gigabytes   (1024 megabytes)

T : terabytes   (1024 gigabytes)

P : petabytes  (1024 terabytes)

Find “Type” Seçenekleri

b : özel blok dosyası

c : özel karakter dosyası

d : dizin

f  : basit dosya

l  : sembolik link

P : FIFO

s  : soket

Find Komutunu “Tar” Komutu ile Kullanmak

6. Aşağıdaki komut /home dizini altındaki .mp3 uzantılı dosyaları myfile.tar adında bir dosya oluşturacak ve içerisine sıkıştıracaktır.

7. Aşağıdaki komut ise /home dizini altındaki .mp4 uzantılı dosyaları oluşturulan myfile.taradında dosyaya ekleyecektir.

8. Aşağıdaki komut /home dizini içerisinde, boyutu 500MB olan dosyaları listeleyecektir.

9. Aşağıdaki komut /home dizini içerisinde, boyutu 500MB üstü olan dosyaları listeleyecektir.

10. Aşağıdaki komut /home dizini içerisinde, boyutu 500MB altı olan dosyaları listeleyecektir.

11. Aşağıdaki komut ise /home dizini içerisinde, boyutu 1GB olan dosyaları listeleyecektir. Üstteki+ ve seçeneklerini bu komutta ‘da kullanabilirsiniz.

12. Örneğin, /home dizini içerisinde boyutu 500MB ile 1GB arasındaki dosyaları listelemek isterseniz aşağıdaki gibi bir komut kullanabilirsiniz.

13. Aşağıdaki komut /home dizini içerisinde 500MB olan dosyaları bulup size herhangi bir soru sormadan silecektir. Kullanırken dikkat ediniz. !

14. Aşağıdaki komut /home dizini altındaki 500MB olan .mp3 uzantılı dosyaları size herhangi bir soru soramdan silecektir. Yada 500MB ‘dan daha fazla olan .mp3 dosyalarını silmek isterseniz+500MB parametresini ekleyebilirsiniz.

15. Aşağıdaki komut /home dizini içerisinde 500 karakterden fazla olan dosyaları listeleyecektir. Aynı şekilde + ve seçeneklerini bu komutta ‘da kullanabilirsiniz.

16. Sistem üzerinde birden fazla dosyayı aynı anda aramak isterseniz aşağıdaki komutu kullanabilirsiniz. Örneğin, log1.txt ve log2.txt adlı iki dosyayı aynı anda aramak için,

17. Aşağıdaki komut /home dizini içerisinde son 2 gün içerisinde oluşturulmuş ve dosya izinleri değiştirilmiş olan dosyaları listeleyecektir. Dizinler için ise ikinci komut kullanılabilir.

18. Aşağıdaki komut /home dizini içerisinde son 1 saat içerisinde erişilmiş dosyaları listeyecektir. Komut dakika cinsinden çalışmaktadır.

19. Sistem üzerinde 777 iznine sahip olan dosyaları listelemek isterseniz aşağıdaki komutu kullanabilirsiniz. Dizinler için ise ikinci komut kullanılabilir.

20. Sistem üzerinde sadece u+rwx iznine sahip olan dosyaları listelemek isterseniz aşağıdaki komut kullanılabilir.

21. Sistem üzerinde SUID bit izni olan dosyaları listelemek isterseniz aşağıdaki komut kullanılabilir.

22. Yukarıdaki komutun aynısı sadece -user ali parametresini ekleyerek ali kullanıcısına ait SUID bit izni olan tüm dosyaları görebiliriz.

23. Aşağıdaki komutu kullanarak aynı anda SGID izinlerini ve SUID izinlerine sahip olan dosyaları görüntüleyebilirsiniz.

24. Sistem üzerinde SGID bit izni olan dosyaları ‘da listelemek isterseniz aşağıdaki komutu kullanabilirsiniz.

25. Sistem üzerinde Sticky bit iznine sahip olan dosyaları görmek isterseniz birinci komut kullanılabilir. Aynı şekilde bu izne sahip dizinleri görmek isterseniz ise ikinci komut kullanılabilir.

26. Belirli bir dizin içerisinde 777 izni hariç diğer tüm dosyaları listelemek isterseniz aşağıdaki komut kullanılabilir. 

27. Örneğin, /home dizini içerisinde 777 iznine sahip olan dosyaların izinlerini 755 izni ile değiştirmek isterseniz aşağıdaki komutu kullanabilirsiniz. Kullanırken çok dikkat ediniz bazı dosyaların erişim izinleri bozulduğu zaman çalışmayabiliyor.

28. Yukarıdaki komutun aynısı sadece dizinler için bunu yapmak isterseniz aşağıdaki komutu kullanabilirsiniz.

29. Aşağıdaki komutlar farklı gruplara ait sadece read-only iznine sahip dosyaları listleyecektir. Eğer izinleri ile birlikte görmek isterseniz komutun sonuna | xargs ls -lah parametresini ekleyebilirsiniz.

30. Aşağıdaki komutlar ‘da farklı gruplara ait sadece executable-only iznine sahip dosyaları listleyecektir. 

31. Aşağıdaki komutlar ise farklı gruplara ait sadece write-only iznine sahip dosyaları listleyecektir.

32. Aşağıdaki komut /home dizini içerisinde log.txt adlı dosyaları bulup size hiç bir soru sormadan silecektir. Kullanırken dikkat edin. !

33. Aşağıdaki komut /home dizini içerisinde, içeriği boş olan dosyaları listeleyecektir.

34. Aşağıdaki komut ise yukarıdaki komuta benzer görevi ise /home dizini altındaki boş olan dizinleri listeleyecektir.

35. Hiçbir kullanıcıya ait olmayan dosyaları görmek isterseniz aşağıdaki komutu kullanabilirsiniz.

36. Hiçbir gruba ait olmayan dosyaları görmek isterseniz aşağıdaki komutu kullanabilirsiniz.

37. Bir dizin altında gizli olan dosyaları görmek isterseniz aşağıdaki gibi bir komut kullanabilirsiniz.

38. Örneğin, bir ali adlı kullanıcımız olsun ve aşağıdaki gibi bir komut kullanarak ali kullanıcısına ait tüm dosyaları görebiliriz.

39. Aynı şekilde ali kullanıcısına ait özel bir dosya arıyorsak aşağıdaki gibi bir komut kullanabilirsiniz.

40. Sistemde ali grubuna ait tüm dosyaları listelemek istersek aşağıdaki komut kullanılabilir.

41. Yukarıdaki komutun -type f parametresini silip -type d parametresini eklersek ali grubuna ait tüm dizinleri görebiliriz.

42. Sistemde ali kullanıcısına ait tüm dosyaları bulup silmek isterseniz aşağıdaki komutu kullanabilirsiniz. Kullanırken dikkat ediniz. !

43. Aşağıdaki komut /home dizini içerisinde son 5 gün içerisinde değiştirilmiş dosyaları listeleyecektir.

44. Yukarıdaki komuta benzer bir komut ise aşağıdaki gibi. Aşağıdaki komut ise /home dizini içerisinde son 10-20 gün arası değiştirilmiş dosyaları listeleyecektir. Detaylı bilgi almak istersenizstat dosya_ismi komutu kullanılabilir.

45. Bir dizin içerisinde son 5 gün içerisinde erişilmiş olan tüm dosyaları görmek istersek aşağıdaki komut kullanılabilir. Hemen erişilmiş dosyaları görmek için -atime 0 parametresi kullanılabilir.

46. Aşağıdaki komut /home dizini içerisinde son 1 saat içerisinde değiştirilmiş tüm dosyaları listeleyecektir. Bu parametre dakika cinsinden çalışmaktadır.

 

Daha fazla bilgi için man find komutu kullanabilirsiniz.

Kaynak Site: http://lifeoverlinux.com/2015/08/06/find-komutunun-orneklerle-kullanimi/

 

( Toplamda 132 , bugün 1 kez ziyaret edilmiştir )

caylakpenguen

Truva Linux takımıyla 2006'da tanışan "Çaylak Penguen" -BASH- betiklerine bayılır. Truva'nıñ çekirdek derleme işleri ile çalışan cd tasarımıyla uğraşmaktadır.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.