TREE(1)

الاسم
tree - يسرد محتويات الأدلة بتنسيق يشبه الشجرة.

موجز
tree [-acdfghilnpqrstuvxACDFJQNSUX] [-L المستوى [-R]] [-H [-]الرابط_الأساسي] [-T العنوان] [-o اسم_الملف] [-P النمط] [-I النمط] [--gitignore] [--gitfile[=]الملف] [--matchdirs] [--metafirst] [--ignore-case] [--nolinks] [--hintro[=]الملف] [--houtro[=]الملف] [--inodes] [--device] [--sort[=]الاسم] [--dirsfirst] [--filesfirst] [--filelimit[=]#] [--si] [--du] [--prune] [--charset[=]X] [--timefmt[=]التنسيق] [--fromfile] [--fromtabfile] [--fflinks] [--info] [--infofile[=]الملف] [--noreport] [--hyperlink] [--scheme[=]المخطط] [--authority[=]اسم_المضيف] [--opt-toggle] [--acl] [--selinux] [--condense] [--compress[=]#] [--version] [--help] [--] [الدليل ...]

الوصف
Tree هو برنامج لسرد الأدلة بشكل تراجعي ينتج قائمة ملفات مُزاحة حسب العمق، وتُلون على غرار dircolors إذا عُيّن متغير البيئة LS_COLORS وكان الخرج إلى tty. بدون وسائط، يسرد tree الملفات في الدليل الحالي. عند إعطاء وسائط للأدلة، يسرد tree جميع الملفات و/أو الأدلة الموجودة في الأدلة المعطاة بالترتيب. عند الانتهاء من سرد جميع الملفات/الأدلة الموجودة، يعيد tree العدد الإجمالي للملفات و/أو الأدلة المسرودة.

مبدئيًا، عند مواجهة وصلة رمزية، يُطبع المسار الذي تشير إليه الوصلة الرمزية بعد اسم الوصلة بالتنسيق التالي:

    الاسم -> المسار-الحقيقي

إذا أُعطي الخيار `-l' وكانت الوصلة الرمزية تشير إلى دليل فعلي، فسيتبع tree مسار الوصلة الرمزية كما لو كان دليلاً حقيقيًا.

الخيارات
يفهم Tree مفاتيح سطر الأوامر التالية:

خيارات السرد

-a  تُطبع جميع الملفات. مبدئيًا لا يطبع tree الملفات المخفية (تلك التي تبدأ بنقطة `.'). ولا يطبع tree تحت أي ظرف بنيات نظام الملفات `.' (الدليل الحالي) و `..' (الدليل السابق).

-d  يسرد الأدلة فقط.

-l  يتبع الوصلات الرمزية إذا كانت تشير إلى أدلة، كما لو كانت أدلة. وتُتجنب الوصلات الرمزية التي قد تؤدي إلى تكرار تراجعي عند اكتشافها.

-f  يطبع سابقة المسار الكامل لكل ملف.

-x  البقاء على نظام الملفات الحالي فقط. على غرار find -xdev.

-L المستوى
    أقصى عمق لعرض شجرة الأدلة.

-R  يعبر الشجرة تراجعيًا لأسفل كل مستوى من الأدلة (انظر الخيار -L)، ويُخرج في كل مستوى إلى ملف يسمى 00Tree.html (على غرار -o).

-P النمط
    يسرد فقط تلك الملفات التي تطابق النمط العام. يمكنك استخدام خيارات -P متعددة. ملاحظة: يجب استخدام الخيار -a ليؤخذ في الاعتبار أيضًا تلك الملفات التي تبدأ بنقطة `.' للمطابقة. عوامل الأنماط العامة الصالحة هي `*' (أي صفر أو أكثر من المحارف)، و `**` (أي صفر أو أكثر من المحارف بالإضافة إلى محارف / الفارغة، أي أن /**/ قد تطابق / واحدة)، و `?' (أي محرف واحد)، و `[...]' (أي محرف واحد مدرج بين الأقواس (يمكن استخدام - (شرطة) اختيارية لنطاق المحارف: مثال: [A-Z])، و `[^...]' (أي محرف واحد غير مدرج في الأقواس) و `|' يفصل بين الأنماط البديلة. تطابق '/' في نهاية النمط الأدلة، وليس الملفات.

-I النمط
    لا يسرد تلك الملفات أو الأدلة التي تطابق النمط العام. يمكنك استخدام خيارات -I متعددة. انظر -P أعلاه للحصول على معلومات حول الأنماط العامة.

--gitignore
    يستخدم ملفات .gitignore الخاصة بـ git لترشيح الملفات والأدلة. كما يحاول الصعود في شجرة الأدلة من المسار (أو المسارات) المعطاة بحثًا عن ملفات .gitignore أثناء سيره، ويتوقف عند / أو عند دليل يحتوي على دليل .git. إذا وُجد دليل .git فسيضيف ملف .git/info/exclude أيضًا. كما يستخدم $GIT_DIR/info/exclude إذا كان موجودًا.

--gitfile[=]الملف
    يستخدم الملف صراحةً كملف gitignore.

--ignore-case
    إذا حُدد نمط مطابقة بواسطة الخيار -P أو -I، فسيؤدي هذا إلى مطابقة النمط دون مراعاة حالة كل حرف (صغير أم كبير).

--matchdirs
    إذا حُدد نمط مطابقة بواسطة الخيار -P، فسيؤدي هذا إلى تطبيق النمط على أسماء الأدلة (بالإضافة إلى أسماء الملفات). في حال تطابق اسم الدليل، تُعطل المطابقة لمحتويات الدليل. إذا استُخدم الخيار --prune، فلن تُقلّم المجلدات الفارغة التي تطابق النمط.

--metafirst
    يطبع معلومات البيانات الوصفية في بداية السطر بدلاً من وضعها بعد خطوط الإزاحة.

--prune
    يجعل tree يُقلّم الأدلة الفارغة من المخرج، وهو مفيد عند استخدامه بالتزامن مع -P أو -I. انظر BUGS AND NOTES أدناه لمزيد من المعلومات حول هذا الخيار.

--info
    يطبع تعليقات الملفات الموجودة في ملفات .info. انظر .INFO FILES أدناه لمزيد من المعلومات حول تنسيق ملفات .info.

--infofile[=]الملف
    يستخدم الملف صراحةً كملف معلومات.

--noreport
    يغفل طباعة تقرير الملفات والأدلة في نهاية سرد الشجرة.

--charset[=]ترميز_المحارف
    يضبط ترميز المحارف لاستخدامه عند إخراج HTML ولرسم الخطوط.

--filelimit[=]#
    لا ينزل في الأدلة التي تحتوي على أكثر من # من المدخلات.

--condense
    يُكثّف مخرج الأدلة 'المنفردة' -- وهي الأدلة التي لا تحتوي هي نفسها إلا على دليل واحد، في سطر واحد ويفعل ذلك تراجعيًا. لاحظ أن أي معلومات وصفية تُطبع ستكون للدليل الأول المعروض.

-o اسم_الملف
    يرسل المخرج إلى اسم_الملف.

خيارات الملف

-q  يطبع المحارف غير القابلة للطباعة في أسماء الملفات كعلامات استفهام بدلاً من الوضع المبدئي.

-N  يطبع المحارف غير القابلة للطباعة كما هي بدلاً من طباعتها كأرقام ثمانية مهربة.

-Q  يضع أسماء الملفات بين علامتي تنصيص مزدوجتين.

-p  يطبع نوع الملف وأذوناته لكل ملف (كما في ls -l).

-u  يطبع اسم المستخدم للملف، أو رقم UID إذا لم يتوفر اسم مستخدم.

-g  يطبع اسم المجموعة للملف، أو رقم GID إذا لم يتوفر اسم مجموعة.

-s  يطبع حجم كل ملف بالبايت بجانب الاسم.

-h  يطبع حجم كل ملف ولكن بطريقة أكثر قابلية للقراءة البشرية، مثلاً عبر إلحاق حرف للحجم مثل كيلوبايت (K)، ميجابايت (M)، جيجابايت (G)، تيرابايت (T)، بيتابايت (P) وإكسابايت (E).

--si
    مثل -h ولكن يستخدم وحدات النظام الدولي (قوى 1000) بدلاً منها.

--du
    لكل دليل، يُبلغ عن حجمه كمجموع أحجام جميع ملفاته وأدلته الفرعية (وملفاتها، وهكذا). ويُعطى المقدار الإجمالي للمساحة المستخدمة أيضًا في التقرير النهائي (مثل الأمر 'du -c'). يتطلب هذا الخيار من tree قراءة شجرة الأدلة بالكامل قبل إخراجها، انظر BUGS AND NOTES أدناه. يتضمن الخيار -s.

-D  يطبع تاريخ وقت آخر تعديل، أو إذا استُخدم -c، يطبع وقت آخر تغيير في حالة الملف المسرود.

--timefmt[=]التنسيق
    يطبع (يتضمن -D) وينسق التاريخ وفقًا لسلسلة التنسيق التي تستخدم بناء جملة strftime(3).

-F  يلحق `/' للأدلة، و `=' لملفات المقابس، و `*' للملفات القابلة للتنفيذ، و `>' للأبواب (Solaris) و `|' لملفات FIFO، كما في ls -F

--inodes
    يطبع رقم inode للملف أو الدليل

--device
    يطبع رقم الجهاز الذي ينتمي إليه الملف أو الدليل

--acl (لينكس فقط)
    يطبع الأذونات، وإذا كانت قائمة التحكم في الوصول (ACL) موجودة على الملف فيلحق + بقائمة الأذونات. يتضمن الخيار -p.

--selinux (لينكس فقط)
    يطبع وسم SELinux للملف إذا كان موجودًا.

خيارات الفرز

-v  يفرز المخرج حسب الإصدار.

-t  يفرز المخرج حسب وقت آخر تعديل بدلاً من الترتيب الأبجدي.

-c  يرتب المخرج حسب آخر تغيير في الحالة بدلًا من الترتيب الأبجدي. يغيّر الخيار -D (في حال استخدامه) لطباعة وقت آخر تغيير في الحالة بدلًا من وقت التعديل.

-U  لا يفرز. يسرد الملفات بترتيب الدليل. يعطّل الخيار --dirsfirst.

-r  يرتب المخرج بترتيب عكسي. هذا فرز تالٍ (meta-sort) يغيّر أنواع الفرز المذكورة أعلاه. يُعطّل هذا الخيار عند استخدام -U.

--dirsfirst
    يسرد الأدلة قبل الملفات. هذا فرز تالٍ يغيّر أنواع الفرز المذكورة أعلاه. يُعطّل هذا الخيار عند استخدام -U.

--filesfirst
    يسرد الملفات قبل الأدلة. هذا فرز تالٍ يغيّر أنواع الفرز المذكورة أعلاه. يُعطّل هذا الخيار عند استخدام -U.

--sort[=]النوع
    يرتب المخرج حسب النوع بدلًا من الاسم. القيم الممكنة هي: ctime (-c)، أو mtime (-t)، أو size، أو version (-v) أو none (-U).

خيارات الرسوميات

-i  يجعل tree لا يطبع خطوط الإزاحة، وهو مفيد عند استخدامه مع الخيار -f. كما يزيل أكبر قدر ممكن من المساحات البيضاء عند استخدامه مع الخيارين -J أو -X.

-A  يفعّل حيلة رسوميات خطوط ANSI عند طباعة خطوط الإزاحة. يعادل هذا الخيار الآن `--charset=ANSI`.

-S  يفعّل رسوميات خطوط CP437 (مفيد عند استخدام خطوط وضع طرفية لينكس). يعادل هذا الخيار الآن `--charset=IBM437' وقد يُهمل مستقبلاً.

-n  يعطّل التلوين دائماً، ويتخطاه الخيار -C، ومع ذلك فإنه يتخطى CLICOLOR_FORCE إذا وُجد.

-C  يفعّل التلوين دائماً، مستخدماً الألوان المبدئية المدمجة إذا لم تُضبط متغيرات البيئة LS_COLORS أو TREE_COLORS. مفيد لتلوين المخرجات الموجهة إلى أنبوب.

--compress[=]#
    يضغط خطوط الإزاحة. قد يكون المعطى رقماً موجباً من 1 (عادي) إلى 3 (محرف واحد) أو من -1 إلى -3 مما يزيل المساحة الإضافية عند كل مستوى إزاحة. مستويات الضغط الأكبر تعطّل خطوط الإزاحة (أي -i).

خيارات XML/JSON/HTML/الروابط التشعبية

-X  يفعّل مخرجات XML. يخرج شجرة الدليل كملف بتنسيق XML.

-J  يفعّل مخرجات JSON. يخرج شجرة الدليل كمصفوفة بتنسيق JSON.

-H [-]عنوان_HREF_الأساسي
    يفعّل مخرجات HTML، بما في ذلك مراجع HTTP. مفيد لمواقع ftp. يحدد baseHREF موقع ftp الأساسي عند استخدام مخرجات HTML. أي أن الدليل المحلي قد يكون `/local/ftp/pub' ولكن يجب الإشارة إليه كـ `ftp://hostname.organization.domain/pub' (يجب أن يكون baseHREF هو `ftp://hostname.organization.domain`). إذا بدأ baseHREF بشرطة (-)، فستُزال وتُعلم tree بوجوب إزالة اسم الدليل الأول من عنوان URL الخاص بـ href. تلميح: لا تستخدم خطوط ANSI مع هذا الخيار، ولا تضع أكثر من دليل واحد في قائمة الأدلة. إذا كنت ترغب في استخدام الألوان عبر ورقة أنماط CSS، فاستخدم الخيار -C بالإضافة إلى هذا الخيار لفرض إخراج الألوان.

--hintro[=]ملف
    يستخدم الملف كمقدمة HTML بدلاً من المقدمة المبدئية. استخدم ملفاً فارغاً أو /dev/null لإلغاء المقدمة تماماً.

--houtro[=]ملف
    يستخدم الملف كخاتمة HTML بدلاً من الخاتمة المبدئية. استخدم ملفاً فارغاً أو /dev/null لإلغاء الخاتمة تماماً.

-T العنوان
    يضبط العنوان وسلسلة ترويسة H1 في وضع مخرجات HTML.

--nolinks
    يوقف الروابط التشعبية في مخرجات HTML.

--hyperlink
    يفعّل روابط الطرفية التشعبية OSC 8 للطرفيات التي تدعمها. انظر قسم العلل والملاحظات أدناه.

--scheme[=]المخطط
    يضبط المخطط المستخدم في روابط OSC 8 التشعبية. المخطط المبدئي هو 'file://'. إذا أغفل المخطط النقطتين الرأسيتين (:)، فستُلحق :// بالمخطط.

--authority[=]اسم_المضيف|الهيئة
    يضبط الهيئة (اسم المضيف) لاستخدامها في روابط OSC 8 التشعبية. يُستخدم اسم المضيف المحلي للحاسوب كما ترجعه ()gethostname كالهيئة افتراضياً. يمكن استخدام النقطة (.) أو زوج من علامات الاقتباس "" بدون '=' (أي السلسلة الفارغة) للإشارة إلى هيئة فارغة.

خيارات الإدخال

--fromfile
    يقرأ قائمة الأدلة من ملف بدلاً من نظام الملفات. المسارات المقدمة في سطر الأوامر هي ملفات للقراءة منها بدلاً من أدلة للبحث فيها. تشير النقطة (.) إلى وجوب قراءة tree للمسارات من الدخل القياسي. ملاحظة: هذا الخيار مناسب فقط لقراءة مخرجات برنامج مثل find، وليس 'tree -fi' لأن الروابط الرمزية لا تُميّز عن الملفات التي تحتوي ببساطة على ' -> ' كجزء من اسم الملف ما لم يُستخدم الخيار --fflinks.

--fromtabfile
    مثل --fromfile، يقرأ tree شجرة دليل من ملف نصي حيث تُزاح الملفات باستخدام علامات الجدولة (tab) في تنسيق يشبه الشجرة للإشارة إلى مستوى تداخل الدليل.

--fflinks
    يعالج معلومات الروابط الرمزية الموجودة في ملف، كما في مخرجات 'tree -fi --noreport'. يُستخدم أول ظهور للسلسلة ' -> ' فقط للدلالة على الفصل بين اسم الملف والرابط.

خيارات متنوعة

--opt-toggle
    يفعّل "تبديل" الخيارات. يفعّل القدرة على تبديل خيارات مثل -a، -h، إلخ. مفيد لإضافته إلى اسم مستعار (alias) عندما ترغب في تعطيل خيارات مفعلة فيه.

--help
    يخرج قائمة استخدام مفصلة.

--version
    يخرج إصدار tree.

--  منهي معالجة الخيارات. لن تُعالج أي خيارات أخرى بعده.

ملفات .INFO

ملفات .info تشبه ملفات .gitignore، إذا وُجد ملف .info أثناء مسح دليل فإنه يُقرأ ويُضاف إلى مكدس معلومات .info. يتكون كل ملف من تعليقات (أسطر تبدأ بعلامة المربع (#)،) أو أنماط محارف بديلة (wild-card) قد تطابق ملفاً بالنسبة للدليل الذي وُجد فيه ملف .info. إذا طابق ملفٌ نمطاً ما، فسيُستخدم التعليق المزاح بجدولة والذي يلي النمط كتعليق للملف. يُنهى التعليق بسطر غير مزاح بجدولة. يمكن لعدة أنماط، كل منها في سطر، أن تتشارك في نفس التعليق.

الملفات
/etc/DIR_COLORS    قاعدة بيانات ألوان النظام.
~/.dircolors    قاعدة بيانات ألوان المستخدم.
.gitignore    ملف استبعادات Git
$GIT_DIR/info/exclude    قائمة استبعادات ملفات git العامة
.info    ملف تعليق الملف
/usr/share/finfo/global_info    ملف تعليق الملفات العام

البيئة
LS_COLORS    معلومات الألوان المنشأة بواسطة dircolors
TREE_COLORS    يستخدم هذا لمعلومات الألوان بدلاً من LS_COLORS إذا كان
مضبوطاً.
TREE_CHARSET    ترميز المحارف الذي يستخدمه tree في وضع HTML.
CLICOLOR    يفعّل التلوين حتى لو لم يكن TREE_COLORS أو LS_COLORS مضبوطاً.
CLICOLOR_FORCE    يفعّل التلوين دائماً (بشكل فعال الخيار -C)
NO_COLOR    يعطّل التلوين (بشكل فعال الخيار -n) (انظر
https://no-color.org/)
LC_CTYPE    المحلية الخاصة بمخرجات أسماء الملفات.
LC_TIME    المحلية الخاصة بمخرجات timefmt، انظر strftime(3).
TZ    المنطقة الزمنية لمخرجات timefmt، انظر strftime(3).
STDDATA_FD    يفعّل ميزة stddata، ويضبط اختيارياً الواصف المراد استخدامه.

المؤلف
Steve Baker (Steve.Baker.llc@gmail.com)
عُدلت مخرجات HTML بواسطة Francesc Rocher (rocher@econ.udg.es)
دعم ترميز المحارف وOS/2 بواسطة Kyosuke Tokoro (NBG01720@nifty.ne.jp)

العلل والملاحظات
لا يقلّم tree الأدلة "الفارغة" عند استخدام الخيارين -P و -I افتراضياً. استخدم الخيار --prune.

يقرب الخياران -h و --si إلى أقرب رقم صحيح بخلاف تطبيقات ls التي تقرب للأعلى دائماً.

سيؤدي تقليم الملفات والأدلة باستخدام الخيارات -I و -P و --filelimit إلى تقارير غير صحيحة لعدد الملفات/الأدلة.

يتسبب الخياران --prune و --du في قيام tree بتجميع الشجرة بالكامل في الذاكرة قبل إصدارها. بالنسبة لأشجار الأدلة الكبيرة، قد يسبب هذا تأخيراً كبيراً في المخرجات واستخدام كميات كبيرة من الذاكرة.

ذاكرة توسيع timefmt محدودة بـ 255 محرفاً. ستكون مخرجات سلاسل الوقت الأطول من ذلك غير محددة، ولكن يُضمن ألا تتجاوز 255 محرفاً.

أشجار XML/JSON ليست ملونة. يمكن لأداة jq تلوين JSON، ولكن ليس أسماء الملفات حسب نوعها كما في LS_COLORS.

قد يكون دعم روابط OSC 8 التشعبية ضعيفاً في طرفيتك. بالنسبة لإصداري من كونسول (Konsole)، من الضروري ضبط المخطط إلى :file (بدون //) واستخدام هيئة فارغة. وقد يكون من الضروري أيضًا قضاء 3.5 ساعة في البحث عن خيار تفعيل الروابط التشعبية.

ربما أكثر.

بدءاً من الإصدار 2.0.0، في لينكس، سيحاول tree آلياً إخراج شجرة JSON مضغوطة على واصف الملف 3 (ما أسميه stddata) إذا وُجد وكان متغير البيئة STDDATA_FD مُعرفاً أو مضبوطاً على قيمة واصف ملف موجبة غير صفرية للاستخدام في الإخراج. من المأمول أن تستفيد صدفة لينكس/يونكس أفضل يوماً ما من هذه الميزة، رغم أن BSON ربما يكون تنسيقاً أفضل لهذا الغرض.

انظر أيضًا
dircolors(1)، ls(1)، find(1)، du(1)، jq(1)، strftime(3)، gitignore(5)

ترجمة
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.