صاحب الموضوع #1
[quote]Konuya genel bir bakış: find komutu, dosya sistemi üzerinde belirli kriterlere göre arama yapmanızı ve bu aramadan elde ettiğiniz sonuçları farklı biçimlerde raporlamanızı sağlar. Özellikle kök dizine bağlı binlerce dosyanın bulunduğu ortamlarda, hangi dosya türlerinin var olduğunu, belirli tarihlere sahip dosyaları veya izinleriyle ilgili durumları hızlıca özetlemek için kullanışlı bir araçtır. Aşağıda, yaygın ihtiyaçlar için uygulanabilir senaryolar ve rapor oluşturma teknikleri sunulmuştur.

1) Dosya sayısını ve genel yapıyı raporlama
Bir dizin ağacında bulunan dosya sayısını ve alt dizinleri özetlemek için:
كود
12find /hedef/klasor -type f | wc -l
find /hedef/klasor -type d | wc -l

Bu iki komut, toplam dosya sayısını ve dizin sayısını basit bir rapor halinde verir. Eğer alt dizinleri dahil etmek istemiyorsanız -maxdepth kullanarak raporu daraltabilirsiniz:
كود
1find /hedef/klasor -maxdepth 2 -type f | wc -l


2) Belirli kriterlere göre filtreleme ve özet raporları
Belirli uzantılara sahip dosyaları rapor etmek için:
كود
1find /hedef/klasor -type f -name "*.log" -printf "%p\n" | wc -l

İzinleri 644 veya belirli bir modda olan dosyaları raporlamak için:
كود
1find /hedef/klasor -type f -perm 0644 -printf "%p\n" | wc -l

Bu çıktılar, hangi dosyaların politikaya uyduğunu hızlıca özetler.

3) Tarihsel raporlama: son değişiklikler ve karşılaştırmalar
Son 7 gün içinde değiştirilmiş dosyaları bulup özetlemek:
كود
1find /hedef/klasor -type f -mtime -7 -printf "%TY-%Tm-%Td %TH:%TM %p\n" | sort

Ayrıca belirli bir tarih aralığını görmek için -newerXY/ -newerct gibi seçeneklerle karşılaştırmalı raporlar üretebilirsiniz.

4) Dosya boyutu üzerinden raporlama
Büyük dosyaları listelemek ve boyutlarına göre sıralamak:
كود
1find /hedef/klasor -type f -printf "%kKB %p\n" | sort -n -k1

İstersen çıktıyı boyuta göre filtrelemek için awk ile bir eşik belirleyebilirsin:
كود
1find /hedef/klasor -type f -printf "%s %p\n" | awk '$1>=1048576' | sort -nr


5) Raporun çıktısını düzenli bir dosyaya aktarma
Bir raporu düzenli bir dosyada tutmak için:
كود
1find /hedef/klasor -type f -name "*.conf" -printf "%p\t%kKB\t%TY-%Tm-%Td\n" > rapor.txt


Sonuçları birleşik bir tablo halinde görmek için temel bir yaklaşım da mümkün:
كود
1printf "dosya_path\tboyut_kb\tson_degistirme\n"; find /hedef/klasor -type f -printf "%p\t%k\t%TY-%Tm-%Td %TH:%TM\n" | sort


Bu teknikler, find ile rapor oluşturmada esnekliğinizi artırır ve günlük, güvenlik veya bakım süreçlerinde hızlı kararlar almanıza yardımcı olur. Kullandığınız iş akışına göre -printf formatını ve filtreleri ayarlayarak farklı raporlar elde etmek mümkün. Başka hangi kriterler üzerinden rapor üretmek istersiniz? Örneğin izin, kullanıcı sahipliği veya yapılan değişiklikler gibi ek filtreler üzerine konuşalım.

يجب تسجيل الدخول للرد.

المستخدمون الذين يشاهدون هذا الموضوع (الإجمالي: 1, الأعضاء: 1, الضيوف: 0)
الإجمالي: 1 (الأعضاء: 1, الضيوف: 0)
0 اقتباسات محددة