Dosya ve klasörleri verimli bir Linux sisteminde bulmak söz konusu olduğunda, iki ana komut bulunmaktadır: find ve locate. Her ikisi de kendi güçlü yanları ve kullanım durumları vardır. Bu kılavuzda, bu komutları nasıl hızlı ve hedefli bir şekilde gereken verileri bulmak için kullanabileceğinizi öğreneceksiniz; ister Ana dizinde ister tüm sabit diskte olsun.
En önemli bulgular
- locate daha hızlıdır çünkü bir veritabanı kullanır, ancak güncel olmayabilir.
- find, sabit disk üzerinde doğrudan arama yapar ve her zaman günceldir, ama daha yavaş olabilir.
- Her iki komut da arama sorgularınızı daraltmak için farklı seçenekler sunar.
Adım Adım Kılavuz
1. Genel Bir Bakış: locate
Aramanıza locate komutu ile başlayın. Bu, dosyanın tam adını veya adının bir kısmını biliyorsanız özellikle kolaydır. Diyelim ki "Güneş" adlı dosyayı bulmak istiyorsunuz. Ana dizininize geçin ve aşağıdaki komutu girin:
locate Güneş
Bu komut, locate'in veritabanındaki tüm girişleri arayacak ve "Güneş" anahtar kelimesini içeren dosyaları listeleyecektir.

2. Büyük/küçük harf duyarsız arama
Aramanızda büyük/küçük harf duyarsız olmak ister misiniz? O zaman -i seçeneğini kullanabilirsiniz:
locate -i güneş
Bu şekilde hem "Güneş" hem de "güneş" içeren bir liste alırsınız.

3. Düzenli ifadelerle doğruluk
Daha hassas bir arama yapmak isterseniz, locate ile düzenli ifadeler de kullanabilirsiniz. Örneğin, yalnızca "ls" tam olarak aramak için korunan parantezler ile birlikte -b seçeneğini kullanabilirsiniz:
locate -b '/ls'
Bu, yalnızca tam olarak "ls" ile eşleşen sonuçlar almanızı sağlar.

4. Veritabanını güncelleme
Yeni bir dosya oluşturduysanız ve locate'in onu bulduğundan emin olmak istiyorsanız, veritabanasını güncellemeniz gerekir. Bunu aşağıdaki komutla yapabilirsiniz:
sudo updatedb
Bu komut veritabanını günceller ve en son duruma getirir.

5. find komutunun kullanımı
find komutu, aramanız için daha kesin kriterler tanımlamak istediğinizde özellikle kullanışlıdır. Örneğin, Ana dizinde "xyz" adlı bir dosya aramak için şu komutu kullanabilirsiniz:
find ~/ -name 'xyz'
Bu, yalnızca Ana dizinde "xyz" arar.

6. Dosya türüne göre filtreleme
Yalnızca belirli dosya türlerini aramak için -type seçeneğini kullanabilirsiniz. Örneğin, yalnızca dizinleri bulmak için:
find /var/log -type d
Bu komut, /var/log dizinindeki tüm dizinleri listeleyecektir.

7. Boyuta göre dosya arama
Eğer dosyaları boyutlarına göre aramak istiyorsanız, -size seçeneğini kullanabilirsiniz. Örneğin, 1 MB'tan büyük dosyaları bulmak için:
find / -type f -size +1M
Bu komut, sistemde 1 Megabayttan büyük dosyaları arar.

8. Belirli bir zaman diliminde dosyaları bulma
Ayrıca, belirli bir süre içinde değiştirilmiş dosyaları da arayabilirsiniz. Örneğin, son 48 saat içinde değiştirilmiş dosyaları aramak için:
find / -type f -mtime -2
Burada "-mtime -2" son iki günde değiştirilmiş dosyaları belirtir.

9. Arama kriterlerinin kombinasyonu
Birden fazla arama kriterinin kombinasyonu, sorgularınızın doğruluğunu artırır. Dosya türü ve en son değiştirilme tarihine göre aynı anda filtreleme yapabilirsiniz:
find /opt -type f -mtime -1
Bu şekilde, son 24 saat içinde değiştirilmiş /opt dizinindeki tüm dosyaları bulursunuz.

10. Dosya arama sonuçlarının özeti
find ve locate komutları ile Linux sisteminizde dosya ve klasörleri verimli bir şekilde bulmak için iyi donanımlısınız. İhtiyaçlarınıza göre hız ve güncel veri tabanı arasında seçim yapabilirsiniz.
Özet – Linux altında dosya ve klasör arama – find ve locate'in ayrıntılı açıklaması
Linux'ta dosya ve klasörleri bulmak find ve locate ile çok kolaydır. Her iki komut da arama işlemini özelleştirmek için farklı olanaklar sunar.
Sıkça Sorulan Sorular
find ve locate arasındaki fark nedir?find, sabit diskte gerçek zamanlı arama yaparken, locate bir veritabanı kullanır ve bu nedenle daha hızlıdır, ancak güncel sonuçlar vermeyebilir.
locate veritabanesini nasıl güncelleyebilirim?sudo updatedb komutunu kullanarak locate veritabanesini güncelleyebilirsiniz.
find ile dosya boyutuna göre arama yapabilir miyim?Evet, bu mümkündür; -size seçeneğini kullanarak.
Dosya veya dizin adlarına göre aramamı nasıl kısıtlayabilirim?Belirli adlar veya dosya türleri için arama yapmak üzere -name veya -type seçeneklerini kullanın.
Arama kriterlerinin birleştirilmesine bir örnek verebilir misiniz?find komutunu kullanarak -type f türündeki dosyaları arayabilir ve aynı zamanda dosyaların son 24 saatte -mtime -1 ile değiştirilmiş olduğunu belirtebilirsiniz.