1 वर्ष से अधिक पुराने लिनक्स में फाइलें कैसे हटाएं? [डुप्लिकेट]


9

संभावित डुप्लिकेट:
मैं लिनक्स पर एक निश्चित तिथि से अधिक फ़ाइलों को कैसे हटा सकता हूं

वर्तमान निर्देशिका में सभी फ़ाइलों को कैसे हटाएं और यह एक वर्ष से अधिक पुरानी निर्देशिकाओं है?


1
करते हैं man find। बूम।

1
क्लोजर्स पर ध्यान दें: कि अन्य प्रश्न वास्तव में भ्रामक रूप से भिन्न हैं, इसके उत्तर पूरी तरह से सीधे नहीं हैं।
गाइल्स का SO- बुराई को रोकना '

जवाबों:


15
find /the/dir/to/start/in -type f -mtime +365 -ls -exec rm -f -- {} \;

2
find /path/to/files -type f -mtime +365 -deleteआसान हो जाएगा।
क्रिस एस

-डेली मेरे ऐक्स में नहीं है इसलिए मैं इसे इस्तेमाल करने का आदी नहीं हूं। मुझे खुशी है कि इसके अन्य बायनेरिज़ में लागू किया गया है।
bot403

find … -exec rm -f {} +थोड़ा तेज़ होगा (और यह प्राचीन प्रणालियों को छोड़कर पोर्टेबल है)।
गिल्स एसओ- बुराई को रोकें '

1
इसके अलावा, --पहली फ़ाइल नाम a से शुरू होने पर -(हालांकि आप यह गारंटी दे सकते हैं कि यदि निर्देशिका निर्देशिका से findशुरू नहीं होती है तो ऐसा नहीं होगा -)।
गिल्स एसओ- बुराई को रोकें '

यह बेहद खतरनाक है क्योंकि आप यह नहीं देखते हैं कि आप क्या हटाने वाले हैं और दुनिया में आप -f के साथ जबरदस्ती क्यों कर रहे हैं? कुछ फ़ाइलों को एक कारण के लिए संरक्षित किया जाता है। फ़ाइल में खोज के परिणामों को संग्रहीत करना अधिक सुरक्षित है, फिर उनकी जांच करें और फ़ाइल की सामग्री पर rm चलाएं।
पेट्र

2

यदि आप बहुत सारी फाइलें निकाल रहे हैं तो यह आम तौर पर "-exec" या "xargs" की तुलना में बहुत तेज़ होती है:

find . -type f -mtime +365 | perl -lne unlink
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.