eza_colors(5) File Formats Manual eza_colors(5)

eza_colors - شخصی‌سازی رنگ‌های فایل و رابط کاربری در eza

از متغیر محیطی EZA_COLORS می‌توان برای شخصی‌سازی رنگ‌هایی که eza برای برجسته‌سازی نام فایل‌ها، فراداده‌های فایل و بخش‌هایی از رابط کاربری استفاده می‌کند، بهره برد.

می‌توانید از برنامه dircolors برای تولید اسکریپتی استفاده کنید که این متغیر را از روی یک فایل ورودی مقداردهی می‌کند، یا اگر با ویرایش رشته‌های متنی طولانی مشکلی ندارید، می‌توانید آن را مستقیماً بنویسید. این متغیرها ساختار زیر را دارند:

•
فهرستی از جفت‌های کلید-مقدار که با `=' جدا شده‌اند، مانند `*.txt=32'.
•
کدهای قالب‌بندی چندگانه ANSI که با `;' جدا شده‌اند، مانند `*.txt=32;1;4'.
•
در نهایت، جفت‌های چندگانه که با `:' جدا شده‌اند، مانند `*.txt=32:*.mp3=1;35'.

بخش کلید هر جفت می‌تواند یک کد دو حرفی یا یک الگوی نام فایل (glob) باشد، و هر مقداری که یک کد معتبر نباشد به عنوان glob در نظر گرفته می‌شود، از جمله کلیدهایی که تصادفاً دو حرف طول دارند.

جهت سازگاری با گذشته، در صورتی که EZA_COLORS تنظیم نشده باشد، متغیر محیطی EXA_COLORS بررسی می‌شود.

غیرفعال‌سازی برجسته‌سازی “کاربر فعلی”
سبز کردن ستون تاریخ
برجسته‌سازی Vagrantfileها
بازنویسی رنگ پیش‌فرض برای فایل‌های zip
فایل‌های Markdown با طیفی از رنگ سبز، و فایل‌های log با طیفی از رنگ خاکستری

متغیر LS_COLORS می‌تواند از این ده کد استفاده کند:

دایرکتوری‌ها
فایل‌های اجرایی
فایل‌های عادی
پایپ‌های نام‌گذاری‌شده (named pipes)
سوکت‌ها
دستگاه‌های بلوکی (block devices)
دستگاه‌های نویسه‌ای (character devices)
پیوندهای نمادین (symlinks)
پیوندهای نمادین بدون مقصد (شکسته)

متغیر EZA_COLORS می‌تواند از کدهای بسیار بیشتری استفاده کند:

مجوزهای نمایش‌داده‌شده به صورت هشت‌هشتی (octal)
بیت مجوز خواندن کاربر
بیت مجوز نوشتن کاربر
بیت مجوز اجرای کاربر برای فایل‌های عادی
مجوز اجرای کاربر برای سایر انواع فایل
بیت مجوز خواندن گروه
بیت مجوز نوشتن گروه
بیت مجوز اجرای گروه
بیت مجوز خواندن دیگران
بیت مجوز نوشتن دیگران
بیت مجوز اجرای دیگران
بیت‌های مجوز setuid، setgid و sticky برای فایل‌ها
بیت‌های setuid، setgid و sticky برای سایر انواع فایل
نشانگر مشخصه‌های توسعه‌یافته (extended attribute)
اعداد مربوط به اندازه فایل (کدهای nb، nk، nm، ng و nt را تنظیم می‌کند)
اعداد اندازه فایل اگر کمتر از 1 KB/KiB باشد
اعداد اندازه فایل اگر بین 1 KB/KiB و 1 MB/MiB باشد
اعداد اندازه فایل اگر بین 1 MB/MiB و 1 GB/GiB باشد
اعداد اندازه فایل اگر بین 1 GB/GiB و 1 TB/TiB باشد
اعداد اندازه فایل اگر 1 TB/TiB یا بیشتر باشد
واحدهای اندازه فایل (کدهای ub، uk، um، ug و ut را تنظیم می‌کند)
واحدهای اندازه فایل اگر کمتر از 1 KB/KiB باشد
واحدهای اندازه فایل اگر بین 1 KB/KiB و 1 MB/MiB باشد
واحدهای اندازه فایل اگر بین 1 MB/MiB و 1 GB/GiB باشد
واحدهای اندازه فایل اگر بین 1 GB/GiB و 1 TB/TiB باشد
واحدهای اندازه فایل اگر 1 TB/TiB یا بیشتر باشد
شناسه اصلی دستگاه (device major ID)
شناسه فرعی دستگاه (device minor ID)
کاربری که خود شما هستید
کاربری که root است
کاربری که شخص دیگری است
گروهی که به آن تعلق دارید
گروه مرتبط با root
گروهی که عضو آن نیستید
تعداد پیوندهای سخت (hard links)
تعداد پیوندهای سخت برای یک فایل عادی با حداقل دو پیوند
پرچم جدید (new) در Git
پرچم تغییریافته (modified) در Git
پرچم حذف‌شده (deleted) در Git
پرچم تغییر نام‌یافته (renamed) در Git
پرچم فراداده تغییریافته در Git
پرچم نادیده‌گرفته‌شده (ignored) در Git
پرچم دارای تداخل (conflicted) در Git
شاخه اصلی مخزن Git
سایر شاخه‌های مخزن Git
شاخه تمیز (بدون تغییرات تاییدنشده) مخزن Git
شاخه تغییریافته (دارای تغییرات تاییدنشده) مخزن Git
“نشانه‌گذاری‌ها”، شامل بسیاری از عناصر پس‌زمینه رابط کاربری
تاریخ فایل
شماره inode فایل
تعداد بلوک‌های فایل
سطر سربرگ جدول
مسیر یک پیوند نمادین
نویسه فرار (escaped) در نام فایل
سبک هم‌پوشانی (overlay) برای مسیرهای پیوند نمادین شکسته
موارد خاص (مواردی که فایل، دایرکتوری، نقطه اتصال، فایل اجرایی، پایپ، سوکت، دستگاه بلوکی، دستگاه نویسه‌ای یا پیوند نباشند)
یک نقطه اتصال (mount point)
یک فایل عادی از نوع تصویر
یک فایل عادی از نوع ویدیو
یک فایل عادی از نوع فایل صوتی با اتلاف (lossy)
یک فایل عادی از نوع فایل صوتی بدون اتلاف (lossless)
یک فایل عادی مربوط به رمزنگاری (مانند کلید یا گواهی)
یک فایل عادی از نوع سند (مانند اسناد اداری یا PDF)
یک فایل عادی فشرده‌شده
یک فایل عادی موقت (مانند فایل پشتیبان ویرایشگر متن)
یک فایل عادی مربوط به کامپایل (مانند فایل کامپایل‌شده جاوا با پسوند class)
یک فایل عادی که برای ساخت پروژه استفاده می‌شود (مانند Makefile)
یک فایل عادی از نوع کد منبع
آیکون (اختیاری است؛ در صورت عدم تنظیم، رنگ آیکون با رنگ نام فایل مطابقت خواهد داشت)
نبود زمینه امنیتی (security context) روی فایل
کاربر SELinux
نقش SELinux
نوع SELinux
سطح SELinux
پرچم‌های فایل در BSD

مقادیر موجود در EXA_COLORS مقادیر داده‌شده در LS_COLORS را بازنویسی می‌کنند، بنابراین نیازی به بازنویسی متغیر موجود LS_COLORS با پسوندهای اختصاصی ندارید.

برخلاف برخی از نسخه‌های ls، مقادیر وارد شده ANSI باید کدهای رنگی معتبر باشند: eza صرفاً هر نویسه‌ای را که داده شده باشد چاپ نمی‌کند.

کدهای پذیرفته‌شده توسط eza عبارتند از:

1
برای متن پررنگ (bold)
2
برای متن کم‌رنگ (dimmed)
3
برای متن کج (italic)
4
برای متن زیرخط‌دار (underline)
31
برای متن قرمز
32
برای متن سبز
33
برای متن زرد
34
برای متن آبی
35
برای متن بنفش
36
برای متن فیروزه‌ای (cyan)
37
برای متن سفید
90
برای متن خاکستری تیره
91
برای متن قرمز روشن
92
برای متن سبز روشن
93
برای متن زرد روشن
94
برای متن آبی روشن
95
برای متن بنفش روشن
96
برای متن فیروزه‌ای روشن
97
برای متن روشن
38;5;nnn
برای رنگی از 0 تا 255 (بخش nnn را جایگزین کنید)

بسیاری از پایانه‌ها با متن پررنگ (bold) به عنوان یک رنگ متمایز رفتار می‌کنند، یا حداقل گزینه‌ای برای این کار ارائه می‌دهند.

برنامه eza مجموعه‌ای داخلی از نگاشت پسوندهای فایل را ارائه می‌دهد که طیف گسترده‌ای از پسوندهای رایج فایل از جمله اسناد، بایگانی‌ها، چندرسانه‌ای و فایل‌های موقت را پوشش می‌دهد. هرگونه نگاشت در متغیرهای محیطی این مجموعه پیش‌فرض را بازنویسی خواهد کرد: اجرای eza با LS_COLORS="*.zip=32" فایل‌های zip را سبز می‌کند اما رنگ سایر فایل‌های فشرده را دست‌نخورده باقی می‌گذارد.

شما همچنین می‌توانید این مجموعه داخلی را با قرار دادن یک مدخل reset در ابتدای EZA_COLORS به طور کامل غیرفعال کنید. بنابراین تنظیم EZA_COLORS="reset:*.txt=31" فقط فایل‌های متنی را برجسته می‌کند؛ و تنظیم EZA_COLORS="reset" هیچ موردی را برجسته نمی‌کند.

برنامه eza توسط Christina Sørensen و بسیاری از مشارکت‌کنندگان دیگر نگهداری می‌شود.

کد منبع: https://github.com/eza-community/eza

مشارکت‌کنندگان: https://github.com/eza-community/eza/graphs/contributors

با سپاس بی‌پایان از Benjamin `ogham' Sago و تمامی مشارکت‌کنندگان دیگر exa که eza از آن منشعب شده است.

•
eza(1)
•
eza_colors-explanation(5)
$version