.\" .\" This file is part of the Detox package. .\" .\" Copyright (c) Doug Harple .\" .\" For the full copyright and license information, please view the LICENSE .\" file that was distributed with this source code. .\" .Dd March 31, 2024 .Dt DETOX 1 .Os .Sh "نام (NAME)" .Nm detox .Nd پاک‌سازی و تمیز کردن نام فایل‌ها .Sh "خلاصه دستور (SYNOPSIS)" .Nm .Op Fl f Pa configfile .Op Fl n | -dry-run .Op Fl r .Op Fl s Ar sequence .Op Fl -special .Op Fl v .Ar .Nm .Op Fl L .Op Fl f Pa configfile .Op Fl v .Nm .Op Fl h | -help .Nm .Op Fl V .Sh "توضیحات (DESCRIPTION)" ابزار .Nm نام فایل‌ها را تغییر می‌دهد تا کار با آن‌ها در لینوکس و سایر سیستم‌عامل‌های شبه‌یونیکس آسان‌تر شود. این ابزار نویسه‌هایی را که نوشتن نام فایل را دشوار می‌کنند با خط تیره (dash) و زیرخط (underscore) جایگزین می‌کند. همچنین فیلترهای مبتنی بر تبدیل کدگذاری (transcoding) را ارائه می‌دهد که ISO-8859-1 یا CP-1252 را به UTF-8 تبدیل می‌کنند. یک فیلتر اضافی نیز نام فایل‌های دارای فرار CGI (CGI-escaped) را رمزگشایی می‌کند. .Ss "توالی‌ها (Sequences)" .Nm توسط یک سری قابل تنظیم از فیلترها هدایت می‌شود که «توالی» (sequence) نامیده می‌شوند. توالی‌ها با جزئیات بیشتر در .Xr detoxrc 5 پوشش داده شده‌اند و با گزینه .Fl L قابل مشاهده هستند. توالی پیش‌فرض فیلترهای .Ar safe و .Ar wipeup را اجرا می‌کند. نمونه‌های دیگر از توالی‌های از پیش پیکربندی‌شده عبارتند از .Ar iso8859_1 و .Ar iso8859_1-legacy که هر دو تبدیل به UTF-8 را ارائه می‌دهند و سپس با فیلترهای .Ar safe و .Ar wipeup به پایان می‌رسند. .Ss "گزینه‌ها (Options)" .Bl -tag -width Fl .It Fl f Pa configfile استفاده از .Pa configfile به‌جای فایل‌های پیکربندی پیش‌فرض برای بارگذاری توالی‌های تبدیل. هیچ فایل پیکربندی دیگری پردازش نخواهد شد. .It Fl h , -help نمایش اطلاعات راهنما. .It Fl -inline اجرا در حالت درون‌خطی (inline). برای جزئیات بیشتر .Xr inline-detox 1 را ببینید. .It Fl L فهرست کردن توالی‌های موجود فعلی. هنگامی که همراه با .Fl v استفاده شود، نشان می‌دهد چه فیلترهایی در هر توالی به کار رفته‌اند و چه ویژگی‌هایی روی فیلترها اعمال شده است. .It Fl n , -dry-run در عمل هیچ چیزی را تغییر نمی‌دهد. این گزینه به معنای فعال بودن گزینه .Fl v است. .It Fl r پیمایش بازگشتی در زیرپوشه‌ها. هر فایل یا دایرکتوری که با نقطه شروع شود، مانند .Pa .git/ یا .Pa .cache/ ، در طول پیمایش بازگشتی نادیده گرفته می‌شود مگر اینکه در خط فرمان مشخص شده باشد. همچنین، هر فایل یا دایرکتوری مشخص‌شده در بخش نادیده‌گیری (ignore) فایل پیکربندی، در پیمایش بازگشتی نادیده گرفته خواهد شد. .It Fl s Ar sequence استفاده از .Ar sequence به‌جای .Cm default . .It Fl -special عمل کردن بر روی فایل‌های ویژه (از جمله پیوندها). به‌طور معمول .Nm این فایل‌ها را نادیده می‌گیرد. ابزار .Nm پیوندهای نمادینی را که به دایرکتوری‌ها اشاره می‌کنند به‌صورت بازگشتی دنبال نمی‌کند. .It Fl v پرگویی در مورد اینکه چه فایل‌هایی در حال تغییر نام هستند. .It Fl V نمایش نسخه فعلی .Nm . .El .Sh "فایل‌ها (FILES)" .Bl -tag -width Fl .It Pa /etc/detoxrc فایل سراسری سیستم detoxrc. .It Pa ~/.detoxrc فایل شخصی detoxrc کاربر. به‌طور معمول فایل سراسری .Pa detoxrc را گسترش می‌دهد، مگر اینکه .Fl f مشخص شده باشد، که در این صورت نادیده گرفته می‌شود. .It Pa /usr/share/detox/cp1252.tbl جدول تبدیل کدگذاری CP-1252 ارائه‌شده. .It Pa /usr/share/detox/iso8859_1.tbl جدول تبدیل کدگذاری ISO-8859-1 ارائه‌شده. .It Pa /usr/share/detox/safe.tbl جدول تبدیل نویسه‌های امن ارائه‌شده. .It Pa /usr/share/detox/unicode.tbl جدول فیلتر نویسه‌های کنترلی یونیکد ارائه‌شده، مورداستفاده فیلتر UTF-8. .El .Sh "مثال‌ها (EXAMPLES)" .Bl -tag -width Fl .It Nm Fl s Ar lower Fl r Fl v Fl n Pa /tmp/new_files توالی .Ar lower را به‌صورت بازگشتی اجرا می‌کند، تغییرات را فهرست می‌کند، بدون تغییر دادن چیزی، روی فایل‌های .Pa /tmp/new_files . .It Nm Fl f Pa my_detoxrc Fl L Fl v توالی‌های درون .Pa my_detoxrc را فهرست می‌کند و فیلترها و گزینه‌های آن‌ها را نمایش می‌دهد. .El .Sh "همچنین ببینید (SEE ALSO)" .Xr inline-detox 1 , .Xr detox.tbl 5 , .Xr detoxrc 5 , .Xr ascii 7 , .Xr iso_8859-1 7 , .Xr unicode 7 , .Xr utf-8 7 .Sh "تاریخچه (HISTORY)" ابزار .Nm در ابتدا برای پاک‌سازی فایل‌هایی طراحی شد که از دوستانی دریافت کرده بودم که با استفاده از سایر سیستم‌عامل‌ها ایجاد شده بودند. ایجاد نام فایلی با فاصله، پرانتز، قلاب و علامت & در برخی سیستم‌عامل‌ها بسیار ساده است. این موارد در .Fx و لینوکس دارای معنای خاصی هستند و هنگام تلاش برای دسترسی به آن‌ها مشکل ایجاد می‌کنند. من .Nm را برای پاک‌سازی این فایل‌ها ایجاد کردم. .Pp نسخه 2.0 از نویسه‌گردانی پیش‌فرض فاصله گرفت و به‌جای آن بر سهولت استفاده تمرکز کرد. نسخه 3.0 این مسیر را با حذف بخش عمده نویسه‌گردانی از جدول‌ها بیشتر پیش برد. انگیزه‌های اصلی این کار بازخوردهای کاربران و این واقعیت بود که بسیاری از سیستم‌عامل‌های شبه‌یونیکس امروزی از UTF-8 به‌عنوان مجموعه نویسه‌های اصلی خود استفاده می‌کنند. نویسه‌گردانی از UTF-8 به ASCII در این سناریو همراه با اتلاف داده و بی‌معنی است. .Sh "نویسندگان (AUTHORS)" ابزار .Nm توسط .An Doug Harple نوشته شده است. .Sh "هشدارها (CAVEATS)" اگر پس از اتمام تبدیل نام فایل، فایلی از قبل با همان نام وجود داشته باشد، .Nm نام فایل را تغییر نخواهد داد.