Belli bir tarihten eski ya da yeni dosyaları bulmak veya silmek Yazdır

  • 54

Linux üzerinde belli bir tarihten eski ya da yeni dosyaları bulmak için aşağıdaki komutları kullanabilirsiniz.
Burada dosyanın en son değiştirilme tarihine bakarak getirmektedir.

Örnek kullanımlar;

Bulunduğunuz klasörde şu andaki tarihten 30 günden daha eski dosyaları listeler;


find . -iname "*" -mtime +30 -exec ls -lah {} \;


Farklı bir klasörde ve belli bir uzantıdaki dosyaları listelemek için aşağıdaki komutu kullanabilirsiniz.
Burada /home/narweb klasöründeki zip uzantılı şu andaki tarihten 30 günden daha eski dosyalar listelenir;


find /home/narweb -iname "*.zip" -mtime +30 -exec ls -lah {} \;


Bulunduğunuz klasörde şu andaki tarihten 30 günden daha yeni dosyaları listelemek için komutta mtime dan sonra gelen ekinin önündeki + yerine - yazabilirsiniz mesela;


find . -iname "*" -mtime -30 -exec ls -lah {} \;


Bulduğunuz bu dosyaları silmek için -exec ekinden sonra gelen ls -lah bölümünü rm olarak güncelleyerek direkt olarak bu dosyaları silebilirsiniz.
Komutu kullanırken dikkat edin çünkü size ekstra bir soru sormadan direkt silecektir. Mesela bulunduğunuz klasördeki 30 günden daha eski dosyaları silmek için aşağıdaki komutu kullanabilirsiniz;


find . -iname "*" -mtime +30 -exec rm {} \;

Bu cevap yeterince yardımcı oldu mu?

<< Geri