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.