Auteur de la discussion #1
find ile ayrıntılı çıktı alma

İşletim sistemi komut satırında dosya ve dizinleri tararken, sadece hangi dosyaların bulunduğunu görmek çoğu zaman yetmiyor. Özellikle büyük projelerde hangi alanlarda değişkenlik var, hangi dosyalar hangi yaşta, hangi izinlerle kaydedilmiş gibi bilgileri tek bir komutla çıkarmak, iş akışını ciddi ölçüde hızlandırır. Bu yazıda, find komutunu kullanarak ayrıntılı çıktı almak için adım adım yöntemler ve pratik örneklerle ilerleyeceğiz.


  • Temel arama ve ayrıntı çıktısı
    • find /path -type f -ls komutu, belirttiğiniz yol altındaki dosya türü normal dosya olanların meta bilgisini ayrıntılı biçimde listeler. ls -l ile benzer bilgiler verir; burada inode, kullanıcı, grup, boyut, değiştirme zamanı gibi alanlar yer alır. Bu çıktı, özellikle büyük dizin yapılarında hangi dosyanın ne boyutta olduğunu hızlıca anlamak için uygundur.
  • Kullanıcı ve gruba göre filtreleme
    • find /path -type f -user alice -printf "%p %u %m %kKB\n" komutu ile dosya yolu, sahibi, izin modu ve boyut bilgisini satır satır alabilirsiniz. -printf ile biçimi özelleştirmek, çıktı sonrası betiklerle otomasyon için kritik kolaylık sağlar.
  • Zaman damgalarıyla ince ayar
    • find /path -type f -mtime -7 -print ile son 7 gün içinde değiştirilmiş dosyaları bulabilir ve -mtime +30 gibi ifadelerle uzun süredir değişmeyen dosyaları tespit edebilirsiniz. -ctime, -atime ile de hesaplamayı değiştirebilirsiniz.
  • İzinler ve güvenlik odaklı çıktı
    • find /path -type f -perm 0644 -print veya -perm /u=r,g-w,o=x gibi genişletilmiş izin ifadeleriyle belirli güvenlik kriterlerini karşılayan dosyaları çıkartabilirsiniz. Bu, güvenlik denetimlerinde hızlı rapor üretimine olanak tanır.
  • Çıktıyı dosyaya ve sütunlara bölme
    • find /path -type f -printf "%p|%s|%t\n" > output.csv komutu, yol, boyut ve zaman bilgisini tümlü bir şekilde CSV yaklaşımına yakın biçimde kaydeder. -d formlarında da tablo benzeri çıktı için uygun alternatifler geliştirmek mümkündür.
  • İkincil meta verileri toplama
    • find /path -type f -exec stat -c "%n,%s,%y" {} \; komutu, her dosya için isim, boyut ve değiştirme zamanını ayrı ayrı satırlara yazar. Bu tip zincirli komutlar, belirli analiz ihtiyaçlarında çok işe yarar.
  • Dizin içindeki sınıflandırmalar
    • find /path -type f -name ".log" -printf "%p %Y\n" ile log dosyalarını sınıflandırabilir; benzer şekilde -name ".conf" veya -iname "*.PNG" gibi case-insensitive aramalarla ortak kriterler üzerinden çıktı oluşturabilirsiniz.
  • Performans ipuçları
    • Çok büyük ağaçlarda -maxdepth kullanmak, -prune ile belirli alt ağaçları hariç tutmak ve -noleaf ile dosya sisteminin kök gezinimini minimize etmek, çıktının hızını ve tamamlanabilirliğini önemli ölçüde artırır.


Özet olarak, find ile ayrıntılı çıktı almak yalnızca hangi dosyanın nerede olduğunu belirtmekten ibaret değildir; çıktı biçimini -printf veya -exec ile şekillendirmek, zaman damgası ve izin gibi meta verileri tek bir akışta toplamak ve sonuçları sonraki işleme uygun biçimde kaydetmek mümkündür. Bu yetenekler, sistem denetimlerinden proje yönetimine kadar geniş bir yelpazede yüksek değere sahiptir.

Vous devez être connecté pour répondre.

Utilisateurs qui consultent cette discussion (Total: 1, Membres: 1, Invités: 0)
Total: 1 (membres: 1, invités: 0)
0 citations sélectionnées