ورقة مرجعية eza - بديل حديث لـ ls
بديل حديث ومُصان لـ 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 | إظهار تفاصيل نقطة التحميل |
تكامل Git
| الأمر | الوصف |
|---|
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
| الميزة | ls | eza |
|---|
| الألوان | أساسية (عبر --color) | افتراضيات غنية، دعم السمات |
| الأيقونات | لا | نعم (--icons) |
| حالة Git | لا | نعم (--git) |
| عرض الشجرة | لا (استخدام tree) | مدمج (-T) |
| الروابط التشعبية | لا | نعم (--hyperlink) |
| السرعة | سريع | سريع (Rust) |
| التكوين | LS_COLORS | theme.yml + LS_COLORS |
الموارد