Disk Usage في Linux: اكتشاف الملفات الكبيرة بـ df وdu
امتلاء القرص من أكثر أسباب توقف الخدمات في Linux. لذلك تحتاج طريقة عملية لتحديد أين ذهبت المساحة.
في هذا الدرس ستتعلم تحليل المساحة بسرعة وأمان باستخدام df وdu وncdu.
لماذا تحليل Disk Usage مهم في Linux؟
- منع توقف الخدمات بسبب امتلاء القرص
- اكتشاف المجلدات أو الملفات غير الطبيعية في الحجم
- تحسين الأداء والتخزين في البيئات الإنتاجية
الأمر df: حالة الأقراص ونقاط التركيب
df -h
df -i
df -h /var
-h: عرض بصيغة سهلة (GB/MB)-i: عرض استهلاك الـ inodes- يمكن تحديد مسار معين لمعرفة القسم المرتبط به
الأمر du: حجم الملفات والمجلدات
du -sh /var/log
du -h --max-depth=1 /var
du -ah /var/log | sort -hr | head -n 20
| الخيار | الفائدة |
|---|---|
-s |
ملخص الحجم فقط |
-h |
عرض بحجم مفهوم للبشر |
--max-depth=1 |
عرض المستوى الأول فقط |
اكتشاف أكبر المجلدات بسرعة
du -h --max-depth=1 / | sort -hr
du -h --max-depth=1 /var | sort -hr
du -h --max-depth=1 /home | sort -hr
هذا النمط يساعدك تضيق نطاق البحث خطوة بخطوة حتى تصل للمجلد المشكلة.
اكتشاف أكبر الملفات
find /var -type f -size +500M 2>/dev/null
find / -type f -size +1G 2>/dev/null | head
ممتاز لاكتشاف logs ضخمة أو نسخ احتياطية قديمة.
استخدام ncdu للتحليل التفاعلي
ncdu /
ncdu /var
ncdu يعطي واجهة طرفية تفاعلية تسهل التنقل والحذف المدروس للملفات الكبيرة.
تنظيف المساحة بأمان
- ابدأ دائمًا بالتحليل قبل الحذف
- احذف الملفات المؤقتة أو القديمة فقط
- استخدم أدوات مخصصة للـ logs مثل
logrotate - لا تحذف ملفات النظام بدون فهم
/var أو /etc قد تسبب توقف خدمات.
تحقق من المسار مرتين قبل أي حذف.
سيناريو عملي: القسم / وصل 95%
- ابدأ بـ
df -hلمعرفة القسم الممتلئ - حلل المسارات الكبيرة بـ
du -h --max-depth=1 / - ادخل للمجلد الأكبر وكرر التحليل
- استخرج الملفات الضخمة بـ
find -size +500M - نظف بأمان ثم أعد التحقق بـ
df -h
تمرين عملي: تحليل استهلاك مساحة /tmp
mkdir -p /tmp/space-lab
dd if=/dev/zero of=/tmp/space-lab/big1.bin bs=1M count=50
dd if=/dev/zero of=/tmp/space-lab/big2.bin bs=1M count=30
df -h /tmp
du -h --max-depth=1 /tmp/space-lab
find /tmp/space-lab -type f -size +10M
بهذا التمرين ستتعلم قراءة المساحة على مستوى القسم والمجلد والملف.
FAQ: أسئلة شائعة حول Disk Usage في Linux
ما الفرق بين df وdu في Linux؟
df يعرض المساحة المستخدمة والمتاحة على مستوى الأقراص أو نقاط التركيب، بينما du يحسب حجم الملفات والمجلدات.
كيف أعرف أكبر المجلدات في Linux بسرعة؟
استخدم du مع sort مثل du -h --max-depth=1 / | sort -hr لعرض أكبر المجلدات بترتيب تنازلي.
هل حذف ملفات logs آمن دائما؟
ليس دائما. الأفضل استخدام أدوات تدوير السجلات مثل logrotate أو تفريغ السجل بطريقة صحيحة بدل حذف عشوائي.
الخطوة التالية
في الدرس القادم سنتعلم تحليل السجلات وحل المشاكل باستخدام logs في Linux.
التالي: السجلات وحل المشاكل