بديل حديث ومُصان لـ ls مكتوب بلغة Rust. خليفة exa الذي لم يعد مصانًا، مع جميع ميزاته بالإضافة إلى تحسينات مستمرة، والوعي بـ Git، والأيقونات، والإخراج الملون الغني.
| المنصة | الأمر |
|---|
| Ubuntu/Debian | sudo apt install eza |
| Arch Linux | sudo pacman -S eza |
| Fedora/RHEL | sudo dnf install eza |
| macOS (Homebrew) | brew install eza |
| Windows (Scoop) | scoop install eza |
| Windows (Chocolatey) | choco install eza |
| Windows (Winget) | winget install eza-community.eza |
| Cargo (All platforms) | cargo install eza |
| Nix | nix run github:eza-community/eza |
| FreeBSD | pkg install eza |
نصيحة: إذا كنت تنتقل من exa، فإن eza بديل مباشر — نفس العلامات، ونفس السلوك.
| الأمر | الوصف |
|---|
eza | قائمة الملفات في الدليل الحالي (تخطيط الشبكة) |
eza -l | تنسيق طويل مع الأذونات والحجم والتاريخ |
eza -la | تنسيق طويل بما في ذلك الملفات المخفية |
eza -1 | ملف واحد في كل سطر |
eza -lh | تنسيق طويل مع رؤوس الأعمدة |
eza -lr | تنسيق طويل، ترتيب عكسي |
eza -ls size | الترتيب حسب حجم الملف |
eza -ls date | الترتيب حسب تاريخ التعديل |
eza -ls name | الترتيب أبجديًا حسب الاسم |
eza -ls ext | الترتيب حسب امتداد الملف |
eza -lR | قائمة متكررة لجميع الأدلة الفرعية |
eza -T | عرض شجرة لبنية الدليل |
eza -T -L 2 | عرض شجرة محدود بمستويين |
eza -D | إظهار الأدلة فقط |
eza -f | إظهار الملفات فقط |
eza --icons | عرض أيقونات نوع الملف |
eza --icons -l | تنسيق طويل مع الأيقونات |
| الأمر | الوصف |
|---|
eza -x | ترتيب الشبكة عبر (من اليسار إلى اليمين) بدلاً من الأسفل |
eza -F | إلحاق مؤشرات نوع الملف (/ للأدلة، @ للروابط) |
eza --color=always | فرض إخراج الألوان (مفيد عند التوجيه) |
eza --color=never | تعطيل الألوان |
eza --no-icons | تعطيل عرض الأيقونات |
eza --hyperlink | عرض الإدخالات كروابط قابلة للنقر في الطرفية |
eza --absolute | إظهار المسارات المطلقة |
eza -w 80 | تعيين عرض الإخراج إلى 80 عمودًا |
eza --group-directories-first | قائمة الأدلة قبل الملفات |
eza --group-directories-last | قائمة الأدلة بعد الملفات |
eza --no-quotes | لا تضع علامات اقتباس على أسماء الملفات بمسافات |
| الأمر | الوصف |
|---|
eza -a | إظهار الملفات المخفية (dotfiles) |
eza -d */ | قائمة الأدلة فقط (glob) |
eza -I "*.log" | تجاهل الملفات المطابقة للنمط |
eza -I "node_modules|.git" | تجاهل أنماط متعددة |
eza --git-ignore | احترام قواعد .gitignore |
eza -s modified | الترتيب حسب وقت التعديل |
eza -s accessed | الترتيب حسب وقت الوصول |
eza -s created | الترتيب حسب وقت الإنشاء |
eza -s type | الترتيب حسب نوع الملف |
eza -s none | بدون ترتيب (ترتيب الدليل) |
eza -rs size | ترتيب عكسي حسب الحجم (الأصغر أولاً) |
eza --no-symlinks | إخفاء الروابط الرمزية |
| الأمر | الوصف |
|---|
eza -l --git | إظهار حالة Git لكل ملف |
eza -l --git-repos | إظهار حالة مستودع Git في الأدلة |
eza -lb | إظهار أحجام الملفات ببادئات ثنائية (KiB, MiB) |
eza -lB | إظهار الأحجام بالبايتات فقط |
eza -lg | إظهار ملكية المجموعة |
eza -li | إظهار أرقام inode |
eza -lH | إظهار عدد الروابط الصلبة |
eza -lm | استخدام الطابع الزمني للتعديل (افتراضي) |
eza -lu | استخدام الطابع الزمني للوصول |
eza -lU | استخدام الطابع الزمني للإنشاء |
eza -l --time-style=long-iso | الطوابع الزمنية بتنسيق ISO |
eza -l --time-style=relative | إظهار الأوقات النسبية (مثل “منذ ساعتين”) |
eza -lo | إظهار الأذونات الثمانية (مثل 755) |
eza -l@ | إظهار السمات الموسعة |
eza -lZ | إظهار سياق أمان SELinux |
eza -l --total-size | إظهار الحجم الإجمالي للأدلة (متكرر) |
eza -lS | إظهار حجم الكتلة |
eza -lM | إظهار تفاصيل نقطة التحميل |
| الأمر | الوصف |
|---|
eza -l --git | إظهار حالة Git لكل ملف (N=جديد، M=معدل) |
eza -l --git-repos | إظهار حالة المستودع للأدلة |
eza --git-ignore | إخفاء الملفات المدرجة في .gitignore |
eza -l --git --no-git | تعطيل علامات Git في العرض الطويل |
مؤشرات حالة Git: N = جديد/غير متتبع، M = معدل، - = غير متغير
| الأمر | الوصف |
|---|
eza -T | عرض شجرة متكرر كامل |
eza -T -L 3 | شجرة محدودة بـ 3 مستويات |
eza -Tl | عرض شجرة مع تفاصيل طويلة |
eza -T --icons | شجرة مع أيقونات |
eza -T --git-ignore | شجرة متجاهلة ملفات .gitignore |
eza -T -I "node_modules" | شجرة متجاهلة أدلة محددة |
eza -T --no-symlinks | شجرة بدون اتباع الروابط الرمزية |
إنشاء ~/.config/eza/theme.yml لتخصيص الألوان والأيقونات:
# Example theme.yml
filenames:
Makefile:
icon: {glyph: "🔨"}
Dockerfile:
icon: {glyph: "🐳"}
extensions:
rs:
icon: {glyph: "🦀"}
filename: {foreground: Red}
| المتغير | الوصف |
|---|
EZA_CONFIG_DIR | تجاوز دليل التكوين (افتراضي: $XDG_CONFIG_HOME/eza) |
EZA_COLORS | تعريفات الألوان المخصصة (نفس تنسيق LS_COLORS) |
NO_COLOR | تعطيل جميع الألوان عند التعيين |
COLUMNS | تجاوز عرض الطرفية المكتشف |
# Add to ~/.bashrc, ~/.zshrc, or equivalent
alias ls='eza'
alias ll='eza -l --icons --git'
alias la='eza -la --icons --git'
alias lt='eza -T --icons -L 2'
alias l='eza -1'
# نظرة عامة سريعة على دليل المشروع
eza -la --icons --git --group-directories-first
# العثور على الملفات الكبيرة مرتبة حسب الحجم
eza -l --total-size -rs size
# معاينة شجرة الدليل للتوثيق
eza -T --icons -L 3 -I "node_modules|.git|dist"
# التحقق من حالة Git لجميع الملفات في لمحة
eza -l --git --git-repos
# تصدير قائمة الملفات بدون ألوان (للسكريبتات)
eza --color=never -1
| الميزة | ls | eza |
|---|
| الألوان | أساسية (عبر --color) | افتراضيات غنية، دعم السمات |
| الأيقونات | لا | نعم (--icons) |
| حالة Git | لا | نعم (--git) |
| عرض الشجرة | لا (استخدام tree) | مدمج (-T) |
| الروابط التشعبية | لا | نعم (--hyperlink) |
| السرعة | سريع | سريع (Rust) |
| التكوين | LS_COLORS | theme.yml + LS_COLORS |