linux - كيفية حذف جميع الملفات التي مضى عليها أكثر من 3 أيام عندما "قائمة الوسيطة طويلة جدا"؟




file-io resource-cleanup (2)

حل آخر للسؤال الأصلي ، esp. إذا كنت ترغب في إزالة بعض الملفات القديمة فقط في مجلد ، فستكون كالتالي:

find . -name "*.sess" -mtime +100 

وهكذا .. يقتبس من كتلة أحرف البدل ، مما يتيح لك "العثور على" ملايين من الملفات :)

لقد حصلت على دليل ملف السجل الذي يحتوي على 82000 ملف والدلائل فيه (حوالي نصف ونصف).

أحتاج إلى حذف كل الملف والدلائل التي مضى عليها أكثر من 3 أيام.

في دليل يحتوي على 37000 ملفًا ، تمكنت من القيام بذلك من خلال:

find * -mtime +3 -exec rm {} \;

ولكن مع وجود 82000 ملف / دليلاً ، أتلقى الخطأ:

/ usr / bin / find: قائمة الوسيطة طويلة جدا

كيف يمكنني التغلب على هذا الخطأ حتى أتمكن من حذف جميع الملفات / الأدلة التي مضى عليها أكثر من 3 أيام؟


لحذف جميع الملفات والأدلة داخل الدليل الحالي :

find . -mtime +3 | xargs rm -Rf

أو بدلاً من ذلك ، تمشيًا مع الأمر الأصلي للبرنامج OP:

find . -mtime +3 -exec rm -Rf -- {} \;




resource-cleanup