Söyleyerek başlayabilirsiniz find /var/dtpdev/tmp/ -type f -mtime +15
. Bu, 15 günden daha eski olan tüm dosyaları bulur ve adlarını yazdırır. İsteğe bağlı olarak, -print
komutun sonunda belirtebilirsiniz , ancak bu varsayılan eylemdir. Hangi dosyaların seçildiğini görmek için ilk önce yukarıdaki komutu kullanmanız önerilir.
find
Komutun silmek istediğiniz dosyaları listelediğini doğruladıktan sonra (ve başkalarını değil), dosyaları silmek için bir "eylem" ekleyebilirsiniz. Bunu yapmak için tipik eylemler şunlardır:
-exec rm -f {} \;
(ya da eşdeğer -exec rm -f {} ';'
)
çalışır Bu rm -f
her dosya ile; Örneğin,
rm -f /var/dtpdev/tmp/A1/B1; rm -f /var/dtpdev/tmp/A1/B2; rm -f /var/dtpdev/tmp/A1/B3; …
-exec rm -f {} +
Bu rm -f
seferde birçok dosya üzerinde çalışacak ; Örneğin,
rm -f /var/dtpdev/tmp/A1/B1 /var/dtpdev/tmp/A1/B2 /var/dtpdev/tmp/A1/B3 …
bu yüzden seçenek 1'den biraz daha hızlı olabilir. ( rm -f
Binlerce dosyanız varsa, birkaç kez çalıştırmanız gerekebilir .)
-delete
Bu find
, dosyaları çalıştırmadan silmeyi kendisine söyler rm
. Bu, -exec
varyantlardan sonsuz şekilde daha hızlı olabilir , ancak tüm sistemlerde çalışmayacaktır.
Yani, eğer seçenek 2'yi kullanırsanız, tüm komut şöyle olacaktır:
find /var/dtpdev/tmp/ -type f -mtime +15 -exec rm -f {} +