आप कह कर शुरू कर सकते थे find /var/dtpdev/tmp/ -type f -mtime +15
। यह 15 दिनों से अधिक पुरानी सभी फ़ाइलों को ढूंढेगा और उनके नाम प्रिंट करेगा। वैकल्पिक रूप से, आप -print
कमांड के अंत में निर्दिष्ट कर सकते हैं , लेकिन यह डिफ़ॉल्ट क्रिया है। उपरोक्त कमांड को पहले चलाने की सलाह दी जाती है, यह देखने के लिए कि कौन सी फाइलें चुनी गई हैं।
आपके द्वारा सत्यापित करने के बाद कि find
कमांड उन फ़ाइलों को सूचीबद्ध कर रही है, जिन्हें आप हटाना चाहते हैं (और कोई नहीं), आप फ़ाइलों को हटाने के लिए "एक्शन" जोड़ सकते हैं। यह करने के लिए विशिष्ट क्रियाएं हैं:
-exec rm -f {} \;
(या, समतुल्य -exec rm -f {} ';'
) ,
यह rm -f
प्रत्येक फ़ाइल पर चलेगा ; जैसे,
rm -f /var/dtpdev/tmp/A1/B1; rm -f /var/dtpdev/tmp/A1/B2; rm -f /var/dtpdev/tmp/A1/B3; …
-exec rm -f {} +
यह rm -f
एक साथ कई फाइलों पर चलेगा ; जैसे,
rm -f /var/dtpdev/tmp/A1/B1 /var/dtpdev/tmp/A1/B2 /var/dtpdev/tmp/A1/B3 …
इसलिए यह विकल्प 1 से थोड़ा तेज हो सकता है ( rm -f
यदि आपके पास हजारों फाइलें हैं तो इसे कुछ समय चलाने की आवश्यकता हो सकती है ।)
-delete
यह find
फ़ाइलों को चलाने के बिना खुद को हटाने के लिए कहता है rm
। यह -exec
वेरिएंट की तुलना में असीम रूप से तेज हो सकता है , लेकिन यह सभी प्रणालियों पर काम नहीं करेगा।
इसलिए, यदि आप विकल्प 2 का उपयोग करते हैं, तो पूरी कमांड होगी:
find /var/dtpdev/tmp/ -type f -mtime +15 -exec rm -f {} +