DETOX(1) General Commands Manual DETOX(1)

detox — پاک‌سازی و تمیز کردن نام فایل‌ها

detox [-f configfile] [-n | --dry-run] [-r] [-s sequence] [--special] [-v] file ... detox [-L] [-f configfile] [-v] detox [-h | --help] detox [-V]

ابزار detox نام فایل‌ها را تغییر می‌دهد تا کار با آن‌ها در لینوکس و سایر سیستم‌عامل‌های شبه‌یونیکس آسان‌تر شود. این ابزار نویسه‌هایی را که نوشتن نام فایل را دشوار می‌کنند با خط تیره (dash) و زیرخط (underscore) جایگزین می‌کند. همچنین فیلترهای مبتنی بر تبدیل کدگذاری (transcoding) را ارائه می‌دهد که ISO-8859-1 یا CP-1252 را به UTF-8 تبدیل می‌کنند. یک فیلتر اضافی نیز نام فایل‌های دارای فرار CGI (CGI-escaped) را رمزگشایی می‌کند.

detox توسط یک سری قابل تنظیم از فیلترها هدایت می‌شود که «توالی» (sequence) نامیده می‌شوند. توالی‌ها با جزئیات بیشتر در detoxrc(5) پوشش داده شده‌اند و با گزینه -L قابل مشاهده هستند. توالی پیش‌فرض فیلترهای safe و wipeup را اجرا می‌کند. نمونه‌های دیگر از توالی‌های از پیش پیکربندی‌شده عبارتند از iso8859_1 و iso8859_1-legacy که هر دو تبدیل به UTF-8 را ارائه می‌دهند و سپس با فیلترهای safe و wipeup به پایان می‌رسند.

configfile
استفاده از configfile به‌جای فایل‌های پیکربندی پیش‌فرض برای بارگذاری توالی‌های تبدیل. هیچ فایل پیکربندی دیگری پردازش نخواهد شد.
, --help
نمایش اطلاعات راهنما.
اجرا در حالت درون‌خطی (inline). برای جزئیات بیشتر inline-detox(1) را ببینید.
فهرست کردن توالی‌های موجود فعلی. هنگامی که همراه با -v استفاده شود، نشان می‌دهد چه فیلترهایی در هر توالی به کار رفته‌اند و چه ویژگی‌هایی روی فیلترها اعمال شده است.
, --dry-run
در عمل هیچ چیزی را تغییر نمی‌دهد. این گزینه به معنای فعال بودن گزینه -v است.
پیمایش بازگشتی در زیرپوشه‌ها. هر فایل یا دایرکتوری که با نقطه شروع شود، مانند .git/ یا .cache/ ، در طول پیمایش بازگشتی نادیده گرفته می‌شود مگر اینکه در خط فرمان مشخص شده باشد. همچنین، هر فایل یا دایرکتوری مشخص‌شده در بخش نادیده‌گیری (ignore) فایل پیکربندی، در پیمایش بازگشتی نادیده گرفته خواهد شد.
sequence
استفاده از sequence به‌جای default.
عمل کردن بر روی فایل‌های ویژه (از جمله پیوندها). به‌طور معمول detox این فایل‌ها را نادیده می‌گیرد. ابزار detox پیوندهای نمادینی را که به دایرکتوری‌ها اشاره می‌کنند به‌صورت بازگشتی دنبال نمی‌کند.
پرگویی در مورد اینکه چه فایل‌هایی در حال تغییر نام هستند.
نمایش نسخه فعلی detox.

/etc/detoxrc
فایل سراسری سیستم detoxrc.
~/.detoxrc
فایل شخصی detoxrc کاربر. به‌طور معمول فایل سراسری detoxrc را گسترش می‌دهد، مگر اینکه -f مشخص شده باشد، که در این صورت نادیده گرفته می‌شود.
/usr/share/detox/cp1252.tbl
جدول تبدیل کدگذاری CP-1252 ارائه‌شده.
/usr/share/detox/iso8859_1.tbl
جدول تبدیل کدگذاری ISO-8859-1 ارائه‌شده.
/usr/share/detox/safe.tbl
جدول تبدیل نویسه‌های امن ارائه‌شده.
/usr/share/detox/unicode.tbl
جدول فیلتر نویسه‌های کنترلی یونیکد ارائه‌شده، مورداستفاده فیلتر UTF-8.

detox -s lower -r -v -n /tmp/new_files
توالی lower را به‌صورت بازگشتی اجرا می‌کند، تغییرات را فهرست می‌کند، بدون تغییر دادن چیزی، روی فایل‌های /tmp/new_files.
detox -f my_detoxrc -L -v
توالی‌های درون my_detoxrc را فهرست می‌کند و فیلترها و گزینه‌های آن‌ها را نمایش می‌دهد.

inline-detox(1), detox.tbl(5), detoxrc(5), ascii(7), iso_8859-1(7), unicode(7), utf-8(7)

ابزار detox در ابتدا برای پاک‌سازی فایل‌هایی طراحی شد که از دوستانی دریافت کرده بودم که با استفاده از سایر سیستم‌عامل‌ها ایجاد شده بودند. ایجاد نام فایلی با فاصله، پرانتز، قلاب و علامت & در برخی سیستم‌عامل‌ها بسیار ساده است. این موارد در FreeBSD و لینوکس دارای معنای خاصی هستند و هنگام تلاش برای دسترسی به آن‌ها مشکل ایجاد می‌کنند. من detox را برای پاک‌سازی این فایل‌ها ایجاد کردم.

نسخه 2.0 از نویسه‌گردانی پیش‌فرض فاصله گرفت و به‌جای آن بر سهولت استفاده تمرکز کرد. نسخه 3.0 این مسیر را با حذف بخش عمده نویسه‌گردانی از جدول‌ها بیشتر پیش برد. انگیزه‌های اصلی این کار بازخوردهای کاربران و این واقعیت بود که بسیاری از سیستم‌عامل‌های شبه‌یونیکس امروزی از UTF-8 به‌عنوان مجموعه نویسه‌های اصلی خود استفاده می‌کنند. نویسه‌گردانی از UTF-8 به ASCII در این سناریو همراه با اتلاف داده و بی‌معنی است.

ابزار detox توسط Doug Harple نوشته شده است.

اگر پس از اتمام تبدیل نام فایل، فایلی از قبل با همان نام وجود داشته باشد، detox نام فایل را تغییر نخواهد داد.

March 31, 2024 Linux 6.12.107+deb13-amd64