دليل أمر tree في أوبونتو: عرض هيكل المجلدات باحترافية

نظرة عامة

يواجه مطورو ومسؤولو أنظمة لينكس صعوبة بالغة عند محاولة تتبع المسارات المعقدة في المشاريع الضخمة عبر الطرفية التقليدية. توفر أداة tree حلاً مرئياً ذكياً يختزل تفرعات المجلدات والملفات في مخطط شجري منسق وفوري. يستعرض هذا الدليل خطوات إعداد الأداة على خوادم أوبونتو، وضبط مستويات العمق، وإظهار الملفات المخفية وصلاحيات الأمان، وصولاً إلى فلترة الامتدادات واستخراج توثيق متكامل بصيغة HTML لمشاركته مع فرق العمل.

تثبيت حزمة tree واستعراض البنية الشجرية للمجلدات

لبدء التهيئة العملية، نقوم بتحديث مستودعات النظام وجلب حزمة tree عبر مدير الحزم:

تحديث المستودعات وتثبيت حزمة tree

سنقوم الآن بإنشاء بيئة تجريبية متعددة المستويات لتمثيل مشروع برمجي متكامل باستخدام الأمر mkdir -p demo_project/src demo_project/docs demo_project/tests:

إنشاء مجلدات المشروع التجريبي

بعد ذلك، نضيف مجموعة من الملفات البرمجية والتوثيقية داخل المجلدات المنشأة عبر أمر touch:

توزيع الملفات الأولية داخل المشروع

يقوم أمر tree بفحص المسار المستهدف بشكل عودي (recursively)، محولاً السجلات النصية الجافة إلى رسم بياني متسلسل يوضح علاقات الأبوة والتبعية بين المجلدات، مع تقديم إحصائية رقمية إجمالية للمحتويات في نهاية المخرج.
⚙️ [أبرز خيارات التشغيل]

-a : يتيح استعراض كافة المحتويات بما فيها الملفات المخفية المسبوقة بنقطة.
-d : يقصر العرض على الأدلة والمجلدات فقط ويتجاهل إدراج الملفات.
-L level : يحدد السقف الأعلى لعمق المجلدات التي سيتم سبرها وعرضها.
-f : يعرض المسار النسبي الكامل أمام كل ملف أو مجلد.
-p : يدرج سمات وأذونات الوصول الأمنية بجانب كل عنصر.
-h : يعرض أحجام الملفات بصيغة مقروءة وسهلة الفهم (مثل KB وMB وGB).
-s : يوضح الحجم الدقيق للملف مقدراً بالبايت.
-I pattern : يتجاهل مطابقة الملفات أو المجلدات التي تتبع نمطاً محدداً.

عرض المسار الشجري الأساسي

ضبط عمق التفرع (-L) وحصر العرض على المجلدات (-d)

لإبراز أهمية التحكم في مستويات التداخل، ننشئ طبقات إضافية من المجلدات الفرعية عبر الأمر mkdir -p demo_project/src/components demo_project/src/assets/images:

إنشاء طبقات إضافية متداخلة

نملأ هذه المجلدات بملفات إضافية تحاكي المكونات والوسائط باستخدام الأمر touch demo_project/src/components/button.py demo_project/src/assets/images/logo.png:

إضافة ملفات داخل الطبقات المتفرعة

عند التعامل مع مستودعات تحتوي آلاف الملفات، يصبح الناتج طويلاً وغير قابل للقراءة. يتيح الخيار tree -L 2 demo_project حصر الفحص في مستويين فقط، متجاهلاً التفرعات العميقة للتركيز على المعمارية العليا للمشروع:

تقييد عمق العرض بمستويين

في حال الرغبة في معاينة خريطة التوزيع الجغرافي للمشروع دون تشويش من كثرة الملفات البرمجية، يمكن استخدام tree -d demo_project لعرض الهيكل التنظيمي للمجلدات حصراً:

استعراض المجلدات دون الملفات

كشف الملفات المخفية (-a) وفحص الأذونات والأحجام (-p, -h)

تحتوي بيئات التطوير غالباً على ملفات إعداد حساسة تبدأ بنقطة (.)، لذا ننشئ نموذجين لها عبر الأمر touch demo_project/.env demo_project/.gitignore:

إنشاء ملفات التكوين المخفية

لإظهار كيفية تتبع أذونات الأمان، نعدل صلاحيات الملف الحساس ليقتصر الوصول عليه على المالك فقط عبر الأمر chmod 600 demo_project/.env:

تعديل أذونات ملف البيئة

لا يقوم الأمر الافتراضي بعرض الملفات المخفية؛ لكن تفعيل الراية tree -a demo_project يجبر الأداة على تضمين ملفات الضبط مثل .env و.gitignore ضمن التدرج الشجري الظاهر على الشاشة:

إظهار كافة الملفات المخفية

لتحويل المخطط إلى تقرير أمني ومساحي سريع، ندمج خياري الأذونات والحجم عبر tree -p -h demo_project، مما يمنحك نظرة فورية على قيود القراءة والكتابة ومساحة كل مورد دون الحاجة لتكرار أوامر الفحص الفردية:

التحقق من الصلاحيات وأحجام الموارد

تصفية الأنماط المخصصة (-P, -I) وتصدير تقارير HTML تفاعلية (-H, -o)

غالباً ما تعج مساحات العمل بالملفات المؤقتة وسجلات التتبع، ولتمثيل ذلك ننشئ بعض الملفات العشوائية عبر touch demo_project/temp.log demo_project/debug.tmp:

إدراج ملفات السجلات والمخلفات المؤقتة

لحصر المعاينة على الأكواد المصدرية المكتوبة بلغة بايثون وتجنب العناصر الأخرى، نوظف نمط الشمول عبر tree -P "*.py" demo_project:

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

على النقيض من ذلك، يساعد نمط الاستبعاد tree -I "*.tmp|*.log" demo_project في إخفاء سجلات التشغيل والامتدادات المؤقتة باستخدام الفاصل الرأسي (|)، مما ينقي المخرجات ويبقي على الأصول الحيوية فقط:

استبعاد مخلفات النظام والملفات المؤقتة

تتجاوز قدرات الأداة حدود سطر الأوامر عبر توليد صفحات ويب موثقة بروابط تشعبية نشطة؛ حيث يقوم الأمر tree -H http://localhost -o demo_project/structure.html demo_project بتوليد مستند HTML منظم يعتمد على الرابط الأساسي (http://localhost) ويوثق الهيكل بصيغة جاهزة للنشر:

توليد صفحة توثيق ويب بصيغة HTML

للتأكد من سلامة البنية التحتية لملف التوثيق المنتج ومطابقته لمعايير الويب، نستعرض الأسطر الأولى عبر head -n 15 demo_project/structure.html:

معاينة الكود المصدري لملف HTML المولد

يقدم أمر tree في بيئة أوبونتو مرونة استثنائية تجمع بين وضوح التحليل وسرعة الأرشفة. يمكنك من خلال المزج المدروس بين هذه المعاملات تحويل تفقد المسارات الروتينية إلى توثيق احترافي عالي الدقة يخدم مختلف مهام التطوير وإدارة الخوادم.