نظرة عامة
يُمثّل الامتلاء المفاجئ لسعة التخزين أحد أبرز التحديات التي تواجه مسؤولي خوادم لينكس، حيث يصبح التعرف الفوري على المجلدات والملفات الأكثر استهلاكاً للمساحة أمراً حاسماً لاستقرار النظام. بدلاً من الغوص في التفاصيل النظرية لصفحات التوثيق (man pages)، يقدّم هذا الدليل شرحاً عملياً وتطبيقياً يغطي الاستخدامات الأساسية لأداة du وصولاً إلى الحيل المتقدمة الأكثر فاعلية في بيئات الإنتاج الفعلية.
1. تجهيز بيئة الاختبار واستكشاف السلوك الافتراضي للأداة du
سنبدأ بإنشاء هيكل مجلدات تجريبي وملفات باحجام متباينة لاختبار الأداة عبر تنفيذ الأمر التالي: mkdir -p /tmp/du_demo/logs /tmp/du_demo/backup && truncate -s 10M /tmp/du_demo/backup/data.bin && truncate -s 5M /tmp/du_demo/logs/app.log.

تتولى أداة du (اختصاراً لـ Disk Usage) حساب الحجم الحقيقي الذي تشغله المجلدات ومحتوياتها الفرعية على وسائط التخزين، وذلك بالاعتماد على كتل البيانات (Blocks - بقيمة افتراضية تبلغ 1024 بايت).
عند استدعاء الأداة دون أي معاملات، فإنها تسرد كل مجلد فرعي متبوعاً بمقدار المساحة المحجوزة كقيمة رقمية مجردة.
⚙️ [الخيارات الجوهرية]
-h : عرض الأحجام بوحدات يسهل على الإنسان قراءتها وفهمها (مثل K وM وG).-a : تضمين الملفات الفردية ضمن النتائج بجانب المجلدات.-s : الاكتفاء بتقديم ملخص إجمالي للمساحة دون تفصيل العناصر الفرعية.-d : تحديد أقصى عمق تفرع مسموح به عند فحص المجلدات الداخلية.-c : إلحاق سطر ختامي يوضح المجموع الكلي لكافة البيانات المعروضة.-b : قراءة الحجم الظاهري الفعلي للملفات بالبايت بدلاً من حساب كتل التخزين المحجوزة.

يتيح الخيار -h (أو --human-readable) تحويل القياسات الرقمية الخام إلى صيغ مبسطة ومألوفة مثل الكيلوبايت والميجابايت والجيجابايت.
يسهل هذا التنسيق قراءة البيانات واستيعاب حجم كل مسار بسرعة دون الحاجة لإجراء عمليات حسابية يدوية.

2. التحكم في عمق التفرع وعرض الإجمالي التراكمي (-d, -s, -c)
لتوضيح آلية التحكم في عمق الفحص الهيكلي، سنقوم بإنشاء شجرة مجلدات متعددة الطبقات مع ملف اختباري عبر تشغيل: mkdir -p /tmp/du_demo/nested/level1/level2 && truncate -s 2M /tmp/du_demo/nested/level1/level2/dummy.bin.

من خلال تطبيق الخيار -d 1 (أو --max-depth=1)، نلزم الأداة بالوقوف عند المستوى الأول فقط من المجلدات التابعة للمسار المحدد وتجاهل ما هو أعمق من ذلك.
يمنع هذا الإجراء تشتيت المخرجات بمئات المسارات المتشعبة، مما يمنحك نظرة بانورامية سريعة لاستهلاك المجلدات الرئيسية.

في حال كنت بحاجة إلى معرفة الحجم الكلي دون الرغبة في رؤية تفاصيل المسارات الفرعية، يوفر الخيار -s (أو --summarize) تقريراً موجزاً يختصر المساحة في سطر واحد فقط.
دمجه مع الخيار -h يمنحك خلاصة سريعة ومباشرة لإجمالي المساحة التي يشغلها المجلد المستهدف.

عند إضافة المعامل -c (أو --total)، سيقوم النظام باحتساب مجموع القيم المعروضة وطباعة سطر نهائي يحمل التسمية total.
يفيد هذا الأسلوب بشكل كبير عندما تريد مقارنة استهلاك كل فرع بشكل مستقل مع معرفة العبء التراكمي الذي يمثلونه مجتمعين.

3. فحص سعة الملفات الفردية واستبعاد أنماط محددة (-a, –exclude)
لتجربة فلترة النتائج وتجاوز ملفات معينة، سنقوم بإنشاء بعض الملفات المؤقتة عبر الأمر: touch /tmp/du_demo/temp1.tmp /tmp/du_demo/temp2.tmp.

يعمل الخيار -a (أو --all) على توسيع نطاق البحث ليشمل كل ملف على حدة إلى جانب المجلدات الحاضنة له.
بدمج هذا الخيار مع -h، نستطيع تفكيك محتويات مجلد مثل /tmp/du_demo/logs واستعراض سعة كل ملف داخله بدقة وبأرقام واضحة.

تتيح التعليمة --exclude إسقاط أي ملفات أو مجلدات تتطابق مع نمط نصي معين من حسابات التخزين.
على سبيل المثال، يضمن تمرير --exclude='*.tmp' استثناء كافة الملفات المؤقتة ذات الامتداد (.tmp)، مما يعكس بدقة الحجم الفعلي للبيانات الدائمة فقط.

4. سيناريوهات عملية: ترتيب استهلاك المجلدات واصطياد الملفات الضخمة
لاختبار عمليات الفرز والتقاط الملفات الثقيلة عملياً، سننشئ ملفين إضافيين باحجام كبيرة نسبياً عبر تشغيل: truncate -s 50M /tmp/du_demo/backup/big.tar && truncate -s 20M /tmp/du_demo/logs/access.log.

عند تمرير مخرجات du -h -d 1 /tmp/du_demo عبر ممر الأوامر (|) إلى الأمر sort -hr، يُعاد ترتيب المجلدات تنازلياً من الأكبر حجماً إلى الأصغر.
تعد هذه الخطوة هي الأسرع على الإطلاق لتحديد المجلد المتسبب في استنزاف التخزين فور حدوث الأزمة.

لحصر أكبر العناصر المؤثرة على مستوى النظام ككل، نقوم بدمج الأمر du -ah /tmp/du_demo مع sort -hr، ثم نقتطع النتائج باستخدام head -n 5 لعرض أضخم 5 عناصر فقط.
يوفر هذا الدمج وسيلة دقيقة لتعقب وتحديد الملفات العملاقة المسؤولة عن أزمات امتلاء الأقراص ومعالجتها فوراً.

بعد اكتمال كافة التجارب التطبيقية، يمكننا تنظيف بيئة العمل وحذف شجرة المجلدات الاختبارية بالكامل عبر تنفيذ: rm -rf /tmp/du_demo.

استعرضنا خلال هذا الشرح كيفية توظيف أداة du وأبرز معاملاتها البرمجية لمراقبة سعة التخزين وحل مشاكل امتلاء الأقراص في بيئات لينكس باحترافية.
يساعدك تبني هذه الأوامر ضمن روتين إدارتك اليومي في الحفاظ على كفاءة الخوادم والتعامل السريع مع أي استهلاك غير متوقع للمساحة.