आप कह कर शुरू कर सकते थे 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 {} +