Linux Find Komutunun 35 Pratik Örneği


Linux find komutu, Unix benzeri işletim sistemlerinde en önemli ve sık kullanılan komut satırı yardımcı programlarından biridir. Bul komutu, belirttiğiniz koşullara göre bağımsız değişkenlerle eşleşen dosya ve dizinlerin listesini aramak ve bulmak için kullanılır.

Find komutu geniş bir seçenek yelpazesi sunarak kullanıcıların farklı koşullarda bundan yararlanmasına olanak tanır. Bireylere, izinler, kullanıcılar, gruplar, dosya türleri, tarihler, boyutlar ve diğer çeşitli parametreler dahil olmak üzere çok sayıda kritere göre dosya arama yetkisi verir.

Bu yazımızda Linux'ta Bul Komutlarının en sık kullanılan 35 örneğini sizlere sunacağız. Bu bölümü, find komutunun temelden ileri düzeye kadar kullanımını kapsayan beş bölüme ayırdık.

Bölüm I – İsimli Dosyaları Bulmak için Temel Bul Komutları

Belirli adlara sahip dosyaları bulmaya gelince, find komutu süreci kolaylaştırmak için bir dizi seçenek sunar. Dosyaları adlarına göre bulmak için bazı temel bulma komutları burada verilmiştir.

1. Geçerli Dizindeki Adı Kullanarak Dosyaları Bulun

Geçerli bir çalışma dizininde adı tecmint.txt olan tüm dosyaları bulun.

find . -name tecmint.txt

./tecmint.txt

2. Ana Dizinin Altındaki Dosyaları Bulun

/home dizini altında tecmint.txt adındaki tüm dosyaları bulun.

find /home -name tecmint.txt

/home/tecmint.txt

3. Adı Kullanarak ve Büyük/Küçük Harfleri Yoksayarak Dosyaları Bulun

Adı tecmint.txt olan ve hem büyük hem de küçük harfler içeren tüm dosyaları /home dizininde bulun.

find /home -iname tecmint.txt

./tecmint.txt
./Tecmint.txt

4. Adı Kullanarak Dizinleri Bulun

/ dizininde adı Tecmint olan tüm dizinleri bulun.

find / -type d -name Tecmint

/Tecmint

5. Adı Kullanarak PHP Dosyalarını Bulun

Geçerli bir çalışma dizininde adı tecmint.php olan tüm php dosyalarını bulun.

find . -type f -name tecmint.php

./tecmint.php

6. Dizindeki tüm PHP Dosyalarını Bulun

Bir dizindeki tüm php dosyalarını bulun.

find . -type f -name "*.php"

./tecmint.php
./login.php
./index.php

Bölüm II – İzinlerine Göre Dosyaları Bulun

Dosyaları izinlerine göre bulmaya yönelik bazı bulma komutları örnekleri aşağıda verilmiştir.

7. 777 İznine Sahip Dosyaları Bulun

İzinleri 777 olan tüm dosyaları bulun.

find . -type f -perm 0777 -print

8. 777 İzni Olmayan Dosyaları Bulun

İzinsiz tüm dosyaları bulun 777.

find / -type f ! -perm 777

9. 644 İzne Sahip SGID Dosyalarını Bulun

İzinleri 644 olarak ayarlanmış tüm SGID bit dosyalarını bulun.

find / -perm 2644

10. 551 İzne Sahip Yapışkan Bit Dosyalarını Bulun

İzni 551 olan tüm Sticky Bit set dosyalarını bulun.

find / -perm 1551

11. SUID Dosyalarını Bulun

Tüm SUID ayar dosyalarını bulun.

find / -perm /u=s

12. SGID Dosyalarını Bulun

Tüm SGID ayar dosyalarını bulun.

find / -perm /g=s

13. Salt Okunur Dosyaları Bulun

Tüm Salt Okunur dosyaları bulun.

find / -perm /u=r

14. Yürütülebilir Dosyaları Bulun

Tüm Yürütülebilir dosyaları bulun.

find / -perm /a=x

15. 777 İzinlerine ve Chmod'dan 644'e kadar Dosyaları Bulun

Tüm 777 izin dosyalarını bulun ve izinleri 644 olarak ayarlamak için chmod komutunu kullanın.

find / -type f -perm 0777 -print -exec chmod 644 {} \;

16. 777 İzinli ve Chmod'dan 755'e kadar Dizinleri Bulun

Tüm 777 izin dizinlerini bulun ve izinleri 755 olarak ayarlamak için chmod komutunu kullanın.

find / -type d -perm 777 -print -exec chmod 755 {} \;

17. Tek Dosyayı Bul ve Kaldır

tecmint.txt adlı tek bir dosyayı bulup kaldırmak için.

find . -type f -name "tecmint.txt" -exec rm -f {} \;

18. Birden Çok Dosyayı Bul ve Kaldır

.mp3 veya .txt gibi birden fazla dosyayı bulup kaldırmak için kullanın.

find . -type f -name "*.txt" -exec rm -f {} \;

OR

# find . -type f -name "*.mp3" -exec rm -f {} \;

19. Tüm Boş Dosyaları Bulun

Belirli bir yol altındaki tüm boş dosyaları bulmak için.

find /tmp -type f -empty

20. Tüm Boş Dizinleri Bulun

Tüm boş dizinleri belirli bir yol altında dosyalamak için.

find /tmp -type d -empty

21. Tüm Gizli Dosyaları Dosyalayın

Tüm gizli dosyaları bulmak için aşağıdaki komutu kullanın.

find /tmp -type f -name ".*"

Bölüm III – Sahiplere ve Gruplara Göre Dosya Arama

Sahiplere ve gruplara göre dosyaları bulmaya yönelik bazı bulma komutları örnekleri:

22. Kullanıcıya Göre Tek Dosya Bulun

Sahibin kök dizininin / kök dizini altında tecmint.txt adlı dosyaların tamamını veya tek tek bulmak için.

find / -user root -name tecmint.txt

23. Kullanıcıya Göre Tüm Dosyaları Bulun

Tecmint kullanıcısına ait tüm dosyaları /home dizini altında bulmak için.

find /home -user tecmint

24. Gruba Göre Tüm Dosyaları Bulun

Geliştirici grubuna ait tüm dosyaları /home dizini altında bulmak için.

find /home -group developer

25. Kullanıcının Özel Dosyalarını Bulun

Tecmint kullanıcısının tüm .txt dosyalarını /home dizini altında bulmak için.

find /home -user tecmint -iname "*.txt"

Bölüm IV – Tarih ve Saate Göre Dosya ve Dizinleri Bulun

Tarih ve saate göre dosya ve dizinleri bulmaya yönelik bazı bulma komutları örnekleri burada verilmiştir.

26. Son 50 Günde Değiştirilen Dosyaları Bulun

50 gün önce değiştirilen tüm dosyaları bulmak için.

find / -mtime 50

27. Son 50 Günde Erişilen Dosyaları Bulun

50 gün önce erişilen tüm dosyaları bulmak için.

find / -atime 50

28. Son 50-100 Gün İçinde Değiştirilen Dosyaları Bulun

50 günden daha önce ve 100 günden daha kısa süre önce değiştirilen tüm dosyaları bulmak için.

find / -mtime +50 –mtime -100

29. Son 1 Saatte Değiştirilen Dosyaları Bulun

Son 1 saat içinde değiştirilen tüm dosyaları bulmak için.

find / -cmin -60

30. Son 1 Saatte Değiştirilen Dosyaları Bulun

Son 1 saat içinde değiştirilen tüm dosyaları bulmak için.

find / -mmin -60

31. Son 1 Saatte Erişilen Dosyaları Bulun

Son 1 saat içinde erişilen tüm dosyaları bulmak için.

find / -amin -60

Bölüm V – Boyuta Göre Dosya ve Dizinleri Bulun

Dosyaları ve dizinleri boyuta göre bulmak için bazı bulma komutları örnekleri burada verilmiştir.

32. 50MB Dosyaları Bulun

50MB dosyaların tümünü bulmak için kullanın.

find / -size 50M

33. 50MB – 100MB Arasındaki Boyutu Bulun

50 MB'tan büyük ve 100 MB'tan küçük tüm dosyaları bulmak için.

find / -size +50M -size -100M

34. 100MB Dosyaları Bul ve Sil

100MB dosyaların tümünü bulmak ve tek bir komut kullanarak silmek için.

find / -type f -size +100M -exec rm -f {} \;

35. Belirli Dosyaları Bulun ve Silin

10 MB'tan büyük olan tüm .mp3 dosyalarını bulun ve tek bir komut kullanarak bunları silin.

find / -type f -name *.mp3 -size +10M -exec rm {} \;

İşte bu kadar, Bu yazımızı burada sonlandırıyoruz, Bir sonraki yazımızda diğer Linux komutlarını detaylı olarak pratik örneklerle ele alacağız. Yorum bölümümüzü kullanarak bu yazı hakkındaki görüşlerinizi bize bildirin.