dir_colors(5) File Formats Manual dir_colors(5)

dir_colors - فایل پیکربندی برای dircolors(1)

برنامه ls(1) از متغیر محیطی LS_COLORS برای تعیین رنگ‌هایی که نام پرونده‌ها با آن‌ها نمایش داده می‌شوند استفاده می‌کند. این متغیر محیطی معمولاً با دستوری مانند زیر مقداردهی می‌شود:

eval `dircolors some_path/dir_colors`

که در یک فایل راه‌اندازی پیش‌فرض پوسته، مانند /etc/profile یا /etc/csh.cshrc یافت می‌شود. (همچنین ببینید: dircolors(1)). معمولاً فایل مورد استفاده در اینجا /etc/DIR_COLORS است و می‌تواند توسط یک فایل .dir_colors در دایرکتوری خانگی کاربر لغو (override) شود.

این فایل پیکربندی از چندین گزاره، هر کدام در یک خط تشکیل شده است. هر چیزی در سمت راست علامت هش (#) به‌عنوان توضیح (comment) در نظر گرفته می‌شود، مشروط بر اینکه علامت هش در ابتدای یک خط باشد یا دست‌کم یک نویسهٔ فاصله پیش از آن قرار گرفته باشد. خطوط خالی نادیده گرفته می‌شوند.

بخش سراسری (global) فایل، شامل تمام گزاره‌های پیش از نخستین گزارهٔ TERM است. هر گزاره در بخش سراسری فایل، برای تمام انواع پایانه معتبر دانسته می‌شود. به دنبال بخش سراسری، یک یا چند بخش مختص پایانه (terminal-specific) قرار دارد که پیش از آن‌ها یک یا چند گزارهٔ TERM می‌آید که مشخص می‌کنند اعلان‌های بعدی روی کدام انواع پایانه (همان‌طور که توسط متغیر محیطی TERM تعیین شده) اعمال شوند. همواره می‌توان یک اعلان سراسری را با یک اعلان مختص پایانه در ادامه‌اش لغو یا بازنویسی کرد.

گزاره‌های زیر شناخته شده‌اند؛ بزرگی و کوچکی حروف بی‌اهمیت است:

یک بخش مختص پایانه را آغاز کرده و مشخص می‌کند که روی چه پایانه‌ای اعمال می‌شود. می‌توان از چندین گزارهٔ TERM برای ایجاد بخشی که برای چندین نوع پایانه کاربرد دارد استفاده کرد.
(فقط در اسلکور؛ توسط گنو dircolors(1) نادیده گرفته می‌شود.) مشخص می‌کند که رنگ‌بندی باید همیشه فعال باشد (yes یا all)، هرگز فعال نباشد (no یا none)، یا فقط زمانی فعال باشد که خروجی یک پایانه است (tty). مقدار پیش‌فرض no است.
(فقط در اسلکور؛ توسط گنو dircolors(1) نادیده گرفته می‌شود.) مشخص می‌کند که نویسه‌های ۸-بیتی ISO/IEC 8859 باید به‌طور پیش‌فرض فعال باشند. به دلایل سازگاری، می‌توان این گزینه را به‌صورت 1 برای yes یا 0 برای no نیز مشخص کرد. مقدار پیش‌فرض no است.
(فقط در اسلکور؛ توسط گنو dircolors(1) نادیده گرفته می‌شود.) گزینه‌های خط فرمان را به خط فرمان پیش‌فرض ls می‌افزاید. گزینه‌ها می‌توانند هر یک از گزینه‌های معتبر خط فرمان ls باشند و باید علامت خط پیوند (منفی) ابتدایی را شامل شوند. توجه داشته باشید که dircolors معتبر بودن این گزینه‌ها را بررسی نمی‌کند.
رنگ مورد استفاده برای متن عادی (غیر از نام پرونده) را مشخص می‌کند.
مترادف: NORM.
رنگ مورد استفاده برای یک پروندهٔ معمولی را مشخص می‌کند.
رنگ مورد استفاده برای دایرکتوری‌ها را مشخص می‌کند.
رنگ مورد استفاده برای یک پیوند نمادین را مشخص می‌کند.
مترادف‌ها: LNK، SYMLINK.
رنگ مورد استفاده برای یک پیوند نمادین بی‌سرپرست (پیوندی که به فایلی ناموجود اشاره دارد) را مشخص می‌کند. اگر مشخص نشده باشد، ls در عوض از رنگ LINK استفاده خواهد کرد.
رنگ مورد استفاده برای یک فایل مفقود (فایلی ناموجود که با این وجود پیوند نمادینی به آن اشاره می‌کند) را مشخص می‌کند. اگر مشخص نشده باشد، ls در عوض از رنگ FILE استفاده خواهد کرد.
رنگ مورد استفاده برای یک FIFO (لولهٔ نام‌گذاری‌شده) را مشخص می‌کند.
مترادف: PIPE.
رنگ مورد استفاده برای یک سوکت را مشخص می‌کند.
(پشتیبانی‌شده از نسخهٔ fileutils 4.1) رنگ مورد استفاده برای یک door (سولاریس ۲.۵ و جدیدتر) را مشخص می‌کند.
رنگ مورد استفاده برای یک فایل ویژهٔ دستگاه بلوکی را مشخص می‌کند.
مترادف: BLOCK.
رنگ مورد استفاده برای یک فایل ویژهٔ دستگاه نویسه‌ای را مشخص می‌کند.
مترادف: CHAR.
رنگ مورد استفاده برای پرونده‌ای با ویژگی اجرایی (executable) را مشخص می‌کند.
رنگ مورد استفاده برای پرونده‌ای با ویژگی set-user-ID فعال را مشخص می‌کند.
مترادف: SETUID.
رنگ مورد استفاده برای پرونده‌ای با ویژگی set-group-ID فعال را مشخص می‌کند.
مترادف: SETGID.
رنگ مورد استفاده برای یک دایرکتوری با ویژگی چسبنده (sticky) را مشخص می‌کند.
رنگ مورد استفاده برای یک دایرکتوری قابل نوشتن توسط دیگران (other-writable) با ویژگی اجرایی فعال را مشخص می‌کند.
مترادف: OWT.
رنگ مورد استفاده برای یک دایرکتوری قابل نوشتن توسط دیگران بدون ویژگی اجرایی فعال را مشخص می‌کند.
مترادف: OWR.
«کد چپ» (left code) را برای پایانه‌های غیر ISO/IEC 6429 مشخص می‌کند (پایین‌تر را ببینید).
مترادف: LEFT.
«کد راست» (right code) را برای پایانه‌های غیر ISO/IEC 6429 مشخص می‌کند (پایین‌تر را ببینید).
مترادف: RIGHT.
«کد پایان» (end code) را برای پایانه‌های غیر ISO/IEC 6429 مشخص می‌کند (پایین‌تر را ببینید).
مترادف: END.
*extension color-sequence
رنگ مورد استفاده برای هر فایلی را که به extension ختم می‌شود مشخص می‌کند.
.extension color-sequence
مشابه *.extension. رنگ مورد استفاده برای هر فایلی را که به .extension ختم می‌شود مشخص می‌کند. توجه داشته باشید که نقطه در پسوند گنجانده شده است، که این امر مشخص کردن پسوندی را که با نقطه شروع نمی‌شود، مانند ~ برای فایل‌های پشتیبان emacs، غیرممکن می‌سازد. این شکل باید منسوخ تلقی شود.

امروزه اکثر پایانه‌های اَسکی با قابلیت رنگ از دنباله‌های رنگی ISO/IEC 6429 (ANSI) استفاده می‌کنند، و بسیاری از پایانه‌های رایج بدون قابلیت رنگ، از جمله xterm و پایانهٔ پرکاربرد و شبیه‌سازی‌شدهٔ DEC VT100، کدهای رنگی ISO/IEC 6429 را تشخیص داده و بدون آسیب آن‌ها را از خروجی حذف یا شبیه‌سازی می‌کنند. برنامه ls در صورت فعال بودن رنگ‌بندی، به‌طور پیش‌فرض از کدهای ISO/IEC 6429 استفاده می‌کند.

دنباله‌های رنگی ISO/IEC 6429 از دنباله‌ای از اعداد تشکیل شده‌اند که با نقطه ویرگول از یکدیگر جدا می‌شوند. رایج‌ترین کدها عبارتند از:

0 برای بازگردانی رنگ پیش‌فرض
1 برای رنگ‌های روشن‌تر
4 برای متن زیرخط‌دار
5 برای متن چشمک‌زن
30 برای پیش‌زمینهٔ سیاه
31 برای پیش‌زمینهٔ قرمز
32 برای پیش‌زمینهٔ سبز
33 برای پیش‌زمینهٔ زرد (یا قهوه‌ای)
34 برای پیش‌زمینهٔ آبی
35 برای پیش‌زمینهٔ بنفش
36 برای پیش‌زمینهٔ فیروزه‌ای
37 برای پیش‌زمینهٔ سفید (یا خاکستری)
40 برای پس‌زمینهٔ سیاه
41 برای پس‌زمینهٔ قرمز
42 برای پس‌زمینهٔ سبز
43 برای پس‌زمینهٔ زرد (یا قهوه‌ای)
44 برای پس‌زمینهٔ آبی
45 برای پس‌زمینهٔ بنفش
46 برای پس‌زمینهٔ فیروزه‌ای
47 برای پس‌زمینهٔ سفید (یا خاکستری)

همهٔ دستورها روی همهٔ سیستم‌ها یا دستگاه‌های نمایش کار نخواهند کرد.

برنامه ls از مقادیر پیش‌فرض زیر استفاده می‌کند:

NORMAL 0 متن عادی (غیر از نام پرونده)
FILE 0 پروندهٔ معمولی
DIR 32 دایرکتوری
LINK 36 پیوند نمادین
ORPHAN undefined پیوند نمادین بی‌سرپرست
MISSING undefined فایل مفقود
FIFO 31 لولهٔ نام‌گذاری‌شده (FIFO)
SOCK 33 سوکت
BLK 44;37 دستگاه بلوکی
CHR 44;37 دستگاه نویسه‌ای
EXEC 35 پروندهٔ قابل اجرا

برخی از برنامه‌های پایانه، مقدار پیش‌فرض را به‌درستی تشخیص نمی‌دهند. اگر پس از فهرست‌گیری از یک دایرکتوری همهٔ متن‌ها رنگی شدند، کدهای NORMAL و FILE را به کدهای عددی مربوط به رنگ‌های پیش‌زمینه و پس‌زمینهٔ عادی خود تغییر دهید.

اگر پایانه‌ای (یا حتی چاپگری!) با قابلیت رنگ (یا سایر انواع برجسته‌سازی) دارید که از مجموعه کدهای متفاوتی استفاده می‌کند، باز هم می‌توانید یک پیکربندی مناسب ایجاد کنید. برای این کار، باید از تعاریف LEFTCODE، RIGHTCODE و ENDCODE استفاده کنید.

هنگام نوشتن نام یک فایل، ls دنبالهٔ خروجی زیر را تولید می‌کند: LEFTCODE typecode RIGHTCODE filename ENDCODE، که در آن typecode دنبالهٔ رنگی وابسته به نوع یا نام فایل است. اگر ENDCODE تعریف نشده باشد، در عوض دنبالهٔ LEFTCODE NORMAL RIGHTCODE استفاده خواهد شد. هدف از leftcode و rightcode صرفاً کاهش مقدار تایپ لازم (و پنهان کردن کدهای گریز نامناسب از دید کاربر) است. اگر برای پایانهٔ شما مناسب نیستند، می‌توانید با مشخص کردن کلیدواژهٔ مربوطه در یک خط به‌تنهایی، آن‌ها را حذف کنید.

نکته: اگر ENDCODE در بخش سراسری فایل تنظیم تعریف شده باشد، نمی‌توان آن را در یک بخش مختص پایانه از فایل لغو تعریف کرد. این بدان معناست که هرگونه تعریف NORMAL بی‌اثر خواهد بود. با این حال می‌توان یک ENDCODE متفاوت تعیین کرد که همان اثر را خواهد داشت.

برای مشخص کردن نویسه‌های کنترلی یا فاصله در دنباله‌های رنگ یا پسوندهای نام فایل، می‌توان از نشانه‌گذاری گریز با خط مورب معکوس (\) به سبک C یا نشانه‌گذاری با علامت هشتک (^) به سبک stty استفاده کرد. نشانه‌گذاری به سبک C شامل نویسه‌های زیر است:

\a زنگ (ASCII 7)
\b پس‌بر (ASCII 8)
\e گریز (ASCII 27)
\f برگه‌بر (ASCII 12)
\n خط جدید (ASCII 10)
\r بازگشت به سر خط (ASCII 13)
\t تب (ASCII 9)
\v تب عمودی (ASCII 11)
\? حذف (ASCII 127)
\nnn هر نویسه‌ای (نشانه‌گذاری هشت‌هشتی)
\xnnn هر نویسه‌ای (نشانه‌گذاری شانزده‌شانزدهی)
\_ فاصله
\\ بک‌اسلش (\)
\^ هشتک (^)
\# علامت هش (#)

توجه داشته باشید که استفاده از نویسه‌های گریز برای وارد کردن فاصله، بک‌اسلش، هشتک یا هر نویسهٔ کنترلی دیگر در هر کجای رشته، و همچنین برای علامت هش به عنوان اولین نویسه، الزامی است.

/etc/DIR_COLORS
فایل پیکربندی سراسری سیستم.
~/.dir_colors
فایل پیکربندی ویژهٔ هر کاربر.

این صفحه قالب فایل dir_colors را آن‌گونه که در بسته fileutils-4.1 استفاده شده توصیف می‌کند؛ سایر نسخه‌ها ممکن است اندکی تفاوت داشته باشند.

تعاریف پیش‌فرض LEFTCODE و RIGHTCODE که توسط پایانه‌های ISO/IEC 6429 استفاده می‌شوند، عبارتند از:

LEFTCODE \e[
RIGHTCODE m

مقدار پیش‌فرض ENDCODE تعریف‌نشده است.

dircolors(1), ls(1), stty(1), xterm(1)

2026-02-08 Linux man-pages 6.19