تخطّى إلى المحتوى الرئيسي
تحليل مساحة التخزين

Leaves: أداة تحليل مساحة التخزين على الخوادم والحاويات بطريقة مرئية (دليل تجربة عملي)

Leaves: أداة تحليل مساحة التخزين على الخوادم والحاويات بطريقة مرئية (دليل تجربة عملي)
📑 محتويات المقال
    Reference OS v85 دقائق قراءة١٩ يوليو ٢٠٢٦يبحث القارئ عن أداة لتحليل مساحة التخزين في الخوادم أو الحاويات بدون واجهة رسومية، ويريد معرفة كيفية تركيبها واستخدامها

    Leaves: أداة تحليل مساحة التخزين على الخوادم والحاويات بطريقة مرئية (دليل تجربة عملي)

    ستتعلم كيفية تثبيت واستخدام أداة Leaves لتحليل مساحة التخزين على خوادم لينكس وحاويات Docker عبر واجهة Treemap تفاعلية في الطرفية، مع خطوات عملية وأمثلة حقيقية.

    الخلاصة: Leaves هي أداة TUI مفتوحة المصدر بلغة Rust تعرض توزيع مساحة التخزين كخريطة Treemap. يتم تثبيتها عبر Cargo أو ثنائي جاهز، وتستخدم لتحليل المجلدات مثل /var/log. تدعم التنقل بين المجلدات وتعمل بسرعة على ملايين الملفات. مناسبة لمطوري الخوادم ومسؤولي النظام.
    أداة تحليل مساحة التخزين Leaves647 كلمة تقريباًزارو — مكتبة الأدلة العملية
    Leaves: أداة تحليل مساحة التخزين على الخوادم والحاويات بطريقة مرئية (دليل تجربة عملي)
    Photo by Sameera Madusanka on Pexels
    LIVE PROJECTpatonw/leaves★ 0

    Show HN: Leaves – A text-UI disk usage treemap visualizer

    رابط المشروع على GitHub ↗

    MAP

    خريطة الصفحة

    اختر القسم الذي تحتاجه الآن

    1. ما هو Leaves؟
    2. من يحتاج Leaves؟ (ومن لا يحتاجه)
    3. المميزات الرئيسية
    4. المتطلبات الأساسية
    5. طريقة التركيب (خطوة بخطوة)
    6. طريقة التشغيل والاستخدام الأساسي
    7. أخطاء شائعة وحلولها
    8. استخدامات عملية (أمثلة)
    9. هل يستحق Leaves التجربة؟
    10. بدائل Leaves
    11. أسئلة شائعة (FAQ)
    !

    قبل أن تطبق

    الفكرة التي تمنع التسرع

    تعتقد أن تحليل مساحة التخزين في الخادم يقتصر على أوامر نصية مملة؟ Leaves تمنحك نظرة شاملة بلمحة بصرية واحدة.

    Q

    أسئلة التشخيص السريع

    قبل أن تطبق، اعرف أين تقف بالضبط

    1. هل تحتاج لتحليل مساحة التخزين على خادم لينكس بدون واجهة رسومية؟
    2. هل تجد أن ncdu لا يعطيك نظرة شاملة كافية؟
    3. هل تدير حاويات Docker وتريد تحليل مساحة التخزين داخلها؟
    4. هل تبحث عن أداة TUI حديثة وسريعة مبنية بلغة Rust؟
    5. هل لديك مجلدات تحتوي ملايين الملفات وتحتاج تحليل سريع؟
    6. هل تفضل عرض Treemap على القوائم الهرمية؟
    7. هل أنت مستعد لتثبيت Rust إذا لم يكن مثبتاً؟

    نظام التشغيل: Input → Process → Output

    INPUT
    مسار المجلد المراد تحليله (مثل /var/log)
    PROCESS
    Leaves يمسح المجلد بشكل متكرر، ويجمع حجم كل ملف ومجلد، ثم يرسم Treemap باستخدام أحرف Unicode
    OUTPUT
    Treemap تفاعلي في الطرفية يمكن التنقل فيه باستخدام لوحة المفاتيح
    Decision Layer
    يقرر Leaves أي الملفات والمجلدات تظهر بناءً على حجمها النسبي
    Memory Layer
    يخزن Leaves بيانات المسح في الذاكرة للتنقل السريع
    Feedback Loop
    يمكنك تكبير مجلد معين (drill down) أو الرجوع للخلف، مما يسمح بالاستكشاف التدريجي
    M

    لوحة قياس النجاح

    لا تعتمد على الانطباع؛ اختر مؤشراً تراجعه

    المؤشرطريقة القياسإشارة جيدة
    سرعة المسحوقت تنفيذ leaves -d /pathأقل من 10 ثوانٍ لمجلد يحتوي 100,000 ملف.
    دقة عرض Treemapمقارنة حجم الملفات المعروضة مع du -shتطابق في الأحجام بنسبة 99%.
    استخدام الذاكرةمراقبة htop أثناء تشغيل leavesأقل من 100 ميغابايت لمجلد بمليون ملف.

    إذا كنت تدير خادم لينكس أو حاوية Docker، فأنت تعرف أن مساحة التخزين تنفد بسرعة. أدوات مثل du و ncdu تعطيك أرقاماً، لكنها لا تظهر لك الصورة الكبيرة. Leaves هي أداة TUI (واجهة مستخدم نصية) تعرض توزيع المساحة على شكل Treemap، مثل WinDirStat لكن في الطرفية. هذا الدليل يشرح لك كيفية تركيبها واستخدامها خطوة بخطوة.

    ما هو Leaves؟

    Leaves هي أداة مفتوحة المصدر مبنية بلغة Rust، تهدف إلى تحليل مساحة التخزين في الخوادم والحاويات. تعرض Treemap ثنائي الأبعاد يوضح توزيع الملفات والمجلدات بحسب حجمها. تم إنشاؤها بواسطة patonw وظهرت على Hacker News كبديل TUI لأدوات مثل WinDirStat و KDirStat.

    من يحتاج Leaves؟ (ومن لا يحتاجه)

    إعلان

    يحتاجه: مطورو الخوادم، مسؤولو النظام، مستخدمو Docker الذين يحتاجون لتحليل مساحة التخزين عن بعد بدون واجهة رسومية. لا يحتاجه: من يستخدم ncdu بشكل مريح ولا يريد تغيير سير العمل، أو من يحتاج تحليلاً آنياً للمساحة (Leaves يحتاج مسحاً أولياً).

    المميزات الرئيسية

    • عرض Treemap تفاعلي في الطرفية
    • أداء عالي بفضل Rust ومعالجة متعددة الخيوط
    • يدعم ملايين الملفات
    • إمكانية التنقل بين المجلدات (drill down)
    • خفيف الوزن ولا يحتاج واجهة رسومية

    المتطلبات الأساسية

    • نظام تشغيل: لينكس (تم اختباره على Ubuntu 20.04+)، وربما macOS
    • Rust و Cargo (لتثبيت من المصدر) أو ثنائي جاهز
    • طرفية تدعم Unicode (معظم المحاكيات الحديثة تدعمه)

    طريقة التركيب (خطوة بخطوة)

    ملاحظة: README الأصلي غير واضح تماماً، لذا الخطوات تقريبية بناءً على بنية المشروع. يفضل استخدام Cargo.

    1. تأكد من تثبيت Rust: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    2. استنساخ المستودع: git clone https://github.com/patonw/leaves.git
    3. ادخل إلى المجلد: cd leaves
    4. بناء المشروع: cargo build --release
    5. الملف التنفيذي سيكون في target/release/leaves. يمكنك نسخه إلى مسار في PATH: sudo cp target/release/leaves /usr/local/bin/

    بديل: إذا وُجد ثنائي جاهز في صفحة الإصدارات (Releases)، يمكنك تنزيله مباشرة.

    طريقة التشغيل والاستخدام الأساسي

    شغل Leaves مع المسار الذي تريد تحليله: leaves -d /var/log. ستظهر شاشة Treemap. استخدم مفاتيح الأسهم للتنقل، Enter للدخول إلى مجلد، Backspace للرجوع. اضغط q للخروج.

    أخطاء شائعة وحلولها

    الخطأالسببالحل
    command not foundلم يتم تثبيت Leaves في PATHاستخدم المسار الكامل: ./target/release/leaves
    خطأ في عرض Treemapالطرفية لا تدعم Unicodeاستخدم طرفية تدعم UTF-8 مثل GNOME Terminal
    أداء بطيءالمجلد يحتوي ملايين الملفاتانتظر حتى يكتمل المسح؛ Leaves يحتاج وقتاً للمسح الأولي

    استخدامات عملية (أمثلة)

    مثال 1: تحليل مجلد السجلات: leaves -d /var/log لتحديد أي ملف سجل يستهلك مساحة كبيرة.

    مثال 2: داخل حاوية Docker: docker exec -it container_name leaves -d / (إذا كان Leaves مثبتاً في الحاوية).

    مثال 3: مقارنة مع ncdu: جرب Leaves على مجلد ثم ncdu على نفس المجلد. ستلاحظ أن Leaves يعطيك نظرة شاملة أسرع.

    هل يستحق Leaves التجربة؟

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

    بدائل Leaves

    الأداةالنوعالمميزات
    ncduTUI قائمةناضجة، متوفرة في معظم المستودعات
    duسطر أوامرمضمنة في لينكس، بسيطة
    gduTUI Treemapمشابه لـ Leaves، مكتوب بلغة Go

    أسئلة شائعة (FAQ)

    هل Leaves يدعم أنظمة التشغيل الأخرى غير لينكس؟

    لم يختبر على Windows، لكنه قد يعمل على macOS.

    كيف يمكنني تثبيت Leaves إذا لم يكن لدي Rust؟

    ابحث عن ثنائي جاهز في صفحة Releases على GitHub، أو استخدم Cargo بعد تثبيت Rust.

    هل Leaves آمن للاستخدام على خوادم الإنتاج؟

    نعم، لكن اختبره أولاً على خادم غير إنتاجي.

    ما الفرق بين Leaves وncdu؟

    Leaves يعرض Treemap (خريطة مساحية) بينما ncdu يعرض قائمة هرمية.

    هل يمكن استخدام Leaves على نظام macOS؟

    نظرياً نعم، لكن لم يختبر بشكل كافٍ.

    كيف يمكنني تحديث Leaves إلى أحدث إصدار؟

    اسحب آخر التغييرات من Git وأعد البناء: git pull && cargo build --release

    هل Leaves يدعم عرض الملفات المخفية؟

    نعم، يظهرها بشكل افتراضي.

    ماذا أفعل إذا ظهر خطأ 'command not found' بعد التثبيت؟

    تأكد من أن المسار الذي نسخت إليه الملف التنفيذي موجود في PATH.

    DO

    Playbook التطبيق

    خطوات عملية مرتبة من التشخيص إلى النتيجة

    خطوة 1

    تثبيت Rust (إذا لم يكن مثبتاً)

    لماذا؟ Leaves مبنية بلغة Rust وتحتاج إلى Cargo للبناء من المصدر.

    كيف؟ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

    الناتج: تثبيت Rust و Cargo بنجاح.

    خطوة 2

    استنساخ مستودع Leaves

    لماذا؟ للحصول على الكود المصدري للأداة.

    كيف؟ git clone https://github.com/patonw/leaves.git

    الناتج: مجلد leaves في الدليل الحالي.

    خطوة 3

    بناء Leaves

    لماذا؟ لإنشاء ملف تنفيذي قابل للتشغيل.

    كيف؟ cd leaves && cargo build --release

    الناتج: ملف تنفيذي في target/release/leaves.

    خطوة 4

    تثبيت Leaves في PATH

    لماذا؟ لتتمكن من تشغيل leaves من أي مكان.

    كيف؟ sudo cp target/release/leaves /usr/local/bin/

    الناتج: أمر leaves متاح عالمياً.

    خطوة 5

    تشغيل Leaves على مجلد

    لماذا؟ لتحليل مساحة التخزين وعرض Treemap.

    كيف؟ leaves -d /var/log

    الناتج: شاشة Treemap تفاعلية تعرض توزيع الملفات.

    خطوة 6

    التنقل في Treemap

    لماذا؟ لاستكشاف المجلدات الفرعية وتحديد الملفات الكبيرة.

    كيف؟ استخدم مفاتيح الأسهم للتنقل، Enter للدخول، Backspace للرجوع، q للخروج.

    الناتج: تحديد الملفات والمجلدات التي تستهلك مساحة كبيرة.

    TMP

    قوالب جاهزة للنسخ

    حوّل القراءة إلى تنفيذ سريع

    تحليل مجلد السجلات
    leaves -d /var/log
    تحليل داخل حاوية Docker
    docker exec -it container_name leaves -d /
    تثبيت Leaves من ثنائي جاهز
    wget https://github.com/patonw/leaves/releases/latest/download/leaves-linux-amd64.tar.gz && tar -xzf leaves-linux-amd64.tar.gz && sudo mv leaves /usr/local/bin/
    ERR

    مصفوفة الأخطاء

    اعرف أين يتعثر الناس وكيف تتجنب ذلك

    الخطألماذا يحدث؟التصحيح
    ظهور خطأ 'command not found' بعد التثبيتلم يتم نسخ الملف التنفيذي إلى مسار موجود في PATH.استخدم المسار الكامل: ./target/release/leaves، أو انسخ الملف إلى /usr/local/bin/.
    خطأ في عرض Treemap (رموز غير مفهومة)الطرفية لا تدعم Unicode بشكل كامل.استخدم طرفية تدعم UTF-8 مثل GNOME Terminal أو Konsole.
    أداء بطيء جداً عند تحليل مجلد كبيرالمجلد يحتوي ملايين الملفات ويحتاج وقتاً للمسح الأولي.انتظر حتى يكتمل المسح؛ Leaves يستخدم معالجة متعددة الخيوط لكنه يحتاج وقتاً.
    IF

    شجرة القرار

    ماذا تفعل حسب حالتك؟

    إذا: إذا كنت تبحث عن أداة TUI حديثة وسريعة

    إذن: استخدم Leaves.

    إذا: إذا كنت تفضل القوائم الهرمية على الخرائط المساحية

    إذن: استخدم ncdu.

    إذا: إذا كنت تحتاج تحليلاً آنياً للمساحة

    إذن: استخدم du أو ncdu لأن Leaves يحتاج مسحاً أولياً.

    إذا: إذا كنت تعمل على خادم إنتاجي

    إذن: اختبر Leaves أولاً على خادم اختبار.

    7D

    خطة تطبيق 7 أيام

    جدول صغير يمنع التسويف

    1. اليوم 1: تثبيت Rust و Leaves على خادم اختبار.
    2. اليوم 2: تشغيل leaves على /var/log وتحليل النتائج.
    3. اليوم 3: تجربة leaves داخل حاوية Docker.
    4. اليوم 4: مقارنة leaves مع ncdu على نفس المجلد.
    5. اليوم 5: اختبار leaves على مجلد يحتوي ملايين الملفات.
    6. اليوم 6: توثيق الإعدادات والأخطاء الشائعة.
    7. اليوم 7: مشاركة التجربة مع الفريق وجمع الملاحظات.
    FACT

    حقائق سريعة تحفظها

    نقاط مختصرة ترجع لها لاحقاً

    1. Leaves مبنية بلغة Rust وتستخدم معالجة متعددة الخيوط.

    2. تعرض Treemap تفاعلي في الطرفية بدون واجهة رسومية.

    3. تدعم ملايين الملفات بفضل الأداء العالي.

    4. يمكن التنقل بين المجلدات (drill down) باستخدام لوحة المفاتيح.

    5. تم إنشاؤها بواسطة patonw وظهرت على Hacker News.

    6. تحتاج إلى طرفية تدعم Unicode لعرض صحيح.

    7. يمكن تثبيتها عبر Cargo أو ثنائي جاهز من صفحة Releases.

    8. لا تزال جديدة وقد تحتوي على أخطاء.

    9. بدائلها: ncdu، gdu، du.

    FAQ

    أسئلة شائعة

    إجابات مباشرة على ما يبحث عنه الزائر

    هل Leaves يدعم أنظمة التشغيل الأخرى غير لينكس؟

    لم يختبر على Windows، لكنه قد يعمل على macOS.

    كيف يمكنني تثبيت Leaves إذا لم يكن لدي Rust؟

    ابحث عن ثنائي جاهز في صفحة Releases على GitHub، أو استخدم Cargo بعد تثبيت Rust.

    هل Leaves آمن للاستخدام على خوادم الإنتاج؟

    نعم، لكن اختبره أولاً على خادم غير إنتاجي.

    ما الفرق بين Leaves وncdu؟

    Leaves يعرض Treemap (خريطة مساحية) بينما ncdu يعرض قائمة هرمية.

    هل يمكن استخدام Leaves على نظام macOS؟

    نظرياً نعم، لكن لم يختبر بشكل كافٍ.

    كيف يمكنني تحديث Leaves إلى أحدث إصدار؟

    اسحب آخر التغييرات من Git وأعد البناء: git pull && cargo build --release

    هل Leaves يدعم عرض الملفات المخفية؟

    نعم، يظهرها بشكل افتراضي.

    ماذا أفعل إذا ظهر خطأ 'command not found' بعد التثبيت؟

    تأكد من أن المسار الذي نسخت إليه الملف التنفيذي موجود في PATH.

    ABC

    مصطلحات سريعة

    تعريفات مختصرة تمنع الالتباس

    TUI

    واجهة مستخدم نصية تعمل داخل الطرفية.

    Treemap

    خريطة مساحية تعرض توزيع المساحة باستخدام مستطيلات متداخلة.

    Cargo

    مدير حزم لغة Rust يستخدم لبناء وإدارة المشاريع.

    Drill down

    التنقل إلى مجلد فرعي لعرض محتوياته داخل Treemap.

    Q+

    أسئلة مرتبطة يبحث عنها الناس

    استخدمها كمسارات متابعة داخل نفس الموضوع

    أداة تحليل مساحة التخزين لينكس TUIبديل WinDirStat للينكستحليل مساحة التخزين في DockerLeaves vs ncduأداة Treemap للطرفيةتثبيت Leaves على UbuntuLeaves Rust أداة مساحة تخزين

    لماذا هذا المرجع يتجاوز الموضوع نفسه؟

    تحول القارئ: من مستخدم يعتمد على du/ncdu ويشعر بالحاجة إلى رؤية شاملة، إلى مستخدم قادر على تحليل مساحة التخزين بصرياً باستخدام Leaves واتخاذ قرارات أسرع

    • إدارة الخوادم السحابية
    • تحسين أداء الحاويات
    • أدوات مفتوحة المصدر للمطورين
    SAVE

    كيف تستخدم هذا المرجع لاحقاً؟

    القيمة الحقيقية تظهر عند العودة والتطبيق

    لا تتعامل معه كمقال يُقرأ مرة واحدة. استخدمه كلوحة تشغيل: ارجع للتشخيص عند ظهور المشكلة، وللقوالب عند التطبيق، ولمؤشرات القياس عند المراجعة.

    Leaves أداة واعدة تسد فجوة في أدوات تحليل المساحة النصية. جربها على خادم اختبار، وقارنها مع ncdu. إذا أعجبتك، استخدمها بانتظام. تذكر أنها لا تزال جديدة، لذا ساهم في تحسينها عبر GitHub إذا وجدت أخطاء.

    UPD

    خطة تحديث هذا الدليل

    حتى يبقى المرجع صالحاً مع الوقت

    • تحقق من إصدارات Leaves الجديدة على GitHub كل شهر.
    • تحديث خطوات التثبيت إذا تغيرت واجهة Cargo.
    • إضافة أمثلة استخدام جديدة من المجتمع.
    • مراجعة الأخطاء الشائعة بناءً على تقارير المستخدمين.

    زارو — مكتبة الأدلة العملية

    نحو مكتبة أدلة عملية: تشخيص، تنفيذ، قياس، وتحديث مستمر.

    Evergreen Reference + GitHub Intelligence + Multi-Stage AI OS v8.0.0-EVERGREEN-GITHUB-AI-INTELLIGENCE-OS

    [Object]
    كاتب في Ficus Web | تقرير إخباري وقصة قصيرة

    مقالات ذات صلة

    اقتراحات مبنية على أول تصنيف مرتبط بالمقال الحالي

    التعليقات (0)

    لا توجد تعليقات بعد. كن أول من يبدأ النقاش 👇