eza: بديل ls الحديث — ألوان وGit وأيقونات وشجرة
eza بديل حديث لـ ls: ألوان وأيقونات وGit status وشجرة مجلدات وhyperlinks — v0.23.5 EUPL-1.2 من eza-community.
ls موجود من عقود… وليه لأ؟ هو الأساس. بس لو بتشتغل كل يوم على ريبو Git، وعايز تشوف حالة الملفات، وأيقونات، وشجرة مجلدات، وروابط قابلة للنقر في الطرفية — الـ defaults بتاعة ls هتخلّيك تكتب flags كتير أو تعتمد على alias طويل. eza (من eza-community) اتعمل عشان الحالة دي: بديل حديث لـ ls، single binary، سريع، وودي أكتر.
أحدث إصدار وقت كتابة المقال: v0.23.5 (نُشر 9 يوليو 2026، اسمه «goodbye horses») — ترخيص EUPL-1.2، والمشروع مش archived على GitHub (~23.8k نجمة وقت التحقق). الموقع الرسمي: eza.rocks.
منين جه eza؟
eza استمرار مجتمعي لخط exa (اللي اتوقف). الـ README بيقول صراحة إن eza بيحاول يكون نسخة أغنى وأسهل من ls، وبعدين بيعدّد ميزات مش موجودة في exa (قائمة غير شاملة): إصلاح «The Grid Bug»، دعم الـ hyperlinks، تفاصيل الـ mount points، SELinux context، مخرجات Git repo status، تواريخ نسبية مقروءة، إصلاحات أمنية، ألوان bright، وملف تخصيص theme.yml للألوان والأيقونات.
يعني لو كنت على exa زمان واتقطع — eza هو الخط اللي اشتغل عليه المجتمع بعده.
إيه اللي يفرق عن ls؟
من الوثائق الرسمية:
- ألوان تميّز أنواع الملفات والـ metadata
- بيفهم الـ symlinks والـ extended attributes وGit
--icons: أيقونات (مع nerd fonts)-T/--tree: شجرة مجلدات بدل اللستة المسطحة--hyperlink: أسماء الملفات كروابط قابلة للنقر في طرفيات تدعم OSC 8--git: حالة كل ملف في الريبو (tracked / ignored / معدّل…)--git-repos: حالة المجلدات لو هي Git repos- ملف
theme.ymlلتخصيص الألوان والأيقونات (وفي ثيمات جاهزة في eza-themes)
والأمر اللي بستعمله كتير أول ما أفتح مشروع:
eza -la --git --icons
-l للتفاصيل الطويلة، -a يشمل المخفي، --git يظهر الحالة، و--icons يخلّي القراءة أسرع بالعين.
شجرة مجلدات بعمق محدود؟:
eza -T --level=2
ولو طرفيتك بتدعم hyperlinks:
eza --hyperlink
تثبيت سريع
eza متاح على Windows وmacOS وLinux (التفاصيل في INSTALL.md في الريبو). لو عندك Nix مع flakes تقدر تجرّبه من غير تثبيت دائم:
nix run github:eza-community/eza
ومع arguments:
nix run github:eza-community/eza -- -ol
رأيي بصراحة
ls مش هيختفي — وهيفضل موجود في كل سكربت وDocker image. بس للاستخدام اليومي في الطرفية، eza بيدي defaults أقرب للي المطور عايزه: Git status في وشّك، أيقونات، tree، وروابط. حطّه جنب fd وrg وbat وهتحس إن الـ terminal بقى toolkit مش أوامر متناثرة.
أسبوع معرض القاهرة للتكنولوجيا — لو رايح، قولنا هتحضر إيه؟ وإيه أمر الـ listing اللي لسه معلق عندك على alias قديم؟
المصادر
- GitHub — eza-community/eza: https://github.com/eza-community/eza
- Releases — v0.23.5: https://github.com/eza-community/eza/releases/tag/v0.23.5
- الموقع: https://eza.rocks
- eza
- CLI
- Rust
- ls
- devtools
- opensource