English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

طريقة حذف ملفات كبيرة بشكل صحيح وسريع في Linux

مقدمة

ل请注意، ما يعنيه

في عملية تحسين الخادم مؤخرًا، تم اكتشاف وجود عدد كبير من الملفات في مجلد maildrop تحت postfix ومجلد clientmqueue، إن استخدام الأمر ls في هذه المجلدات هو فعل غبي، وإجراء rm * مباشرة لا يؤدي إلى أي رد، ولم ينخفض عدد الملفات أيضًا، مما يعني أن استخدام الأمر rm مباشرة في مجلدات تحتوي على عدد كبير من الملفات هو غير فعال.

إذن، كيفية القيام بذلك بشكل صحيح؟ هناك طريقتان متاحتان:

الطريقة الأولى:

find /path/to/directory -type f -exec rm {} \;

الطريقة الثانية:

ls -1 /path/to/directory | xargs -I{} rm {}

هذه الطريقتان يمكن أن تزيل ملفات كبيرة جدًا بنجاح وبسرعة. ولكن هناك طريقة أفضل، على سبيل المثال، إذا كنت تريد حذف دليل clientmqueue المذكور أعلاه، الذي يحتوي على بريد إلكتروني واحد تلو الآخر، يمكنك استخدام الطريقة التالية:

service sendmail stop
cd /var/spool
mv clientmqueue clientmqueue-todelete
mkdir clientmqueue
chown --reference=clientmqueue-todelete clientmqueue
chmod --reference=clientmqueue-todelete clientmqueue
service sendmail start
rm -rf clientmqueue-todelete

الطريقة التي ذكرتها هي إعادة تسمية الدليل، ثم استخدام مبدأ --reference لإعادة بناء الدليل، ثم حذف الدليل المعدل. يمكن حذف الدليل مباشرة بسرعة عالية. يمكنك أيضًا الاحتفاظ بالنسخة الاحتياطية دون حذفها. أكثر أمانًا.

الخلاصة

هذا هو نهاية محتوى هذا المقال، آمل أن يكون محتوى هذا المقال قد ساعدكم في التعلم أو العمل. إذا كان لديكم أي أسئلة، يمكنكم ترك تعليقات للتفاعل، شكرًا لدعمكم لتعليمات النداء.

أنت قد تحب