RENAME(1) User Commands RENAME(1)

rename - تغییر نام دسته‌جمعی پرونده‌ها

rename [options] expression replacement file...

دستور rename با جایگزین کردن نخستین رخداد expression در نام پرونده‌های مشخص‌شده با replacement، نام آن‌ها را تغییر می‌دهد.

-s, --symlink

پیوند نمادین را تغییر نام نده، بلکه مقصدی را که به آن اشاره می‌کند تغییر بده.

-v, --verbose

نمایش پرونده‌هایی که تغییر نام یافته‌اند، در صورت وجود.

-n, --no-act

هیچ تغییری اعمال نکن؛ برای مشاهده تغییراتی که انجام می‌شد --verbose را اضافه کنید.

-a, --all

جایگزین کردن تمام رخدادهای expression به جای فقط نخستین رخداد.

-l, --last

جایگزین کردن آخرین رخداد expression به جای نخستین رخداد.

-o, --no-overwrite

پرونده‌های موجود بازنویسی نشوند. هنگامی که --symlink فعال است، پیوندهای نمادینی که به مقصدهای موجود اشاره دارند بازنویسی نشوند.

-i, --interactive

پرسش قبل از بازنویسی پرونده‌های موجود.

-h, --help

نمایش متن راهنما و خروج.

-V, --version

نمایش نسخه و خروج.

عملیات تغییر نام به‌طور پیش‌فرض یا بدون یکی از گزینه‌های --no-overwrite، --interactive یا --no-act فاقد تدابیر حفاظتی است. اگر کاربر مجوز بازنویسی نام پرونده‌ها را داشته باشد، دستور عملیات را بدون هیچ پرسشی انجام خواهد داد. به عنوان مثال، هنگامی که دستور به عنوان کاربر root در پوشه /lib اجرا شود، نتیجه می‌تواند بسیار مخرب باشد. همیشه قبل از اجرای دستور یک نسخه پشتیبان تهیه کنید، مگر اینکه واقعاً بدانید چه کاری انجام می‌دهید.

اگر expression خالی باشد، به‌طور پیش‌فرض replacement به ابتدای نام پرونده افزوده خواهد شد. با گزینه --all، مقدار replacement بین هر دو نویسه از نام پرونده و همچنین در ابتدا و انتهای آن درج خواهد شد.

به‌طور معمول، تنها آخرین مؤلفه مسیر یک نام پرونده به‌روزرسانی می‌شود. (یا با --symlink، تنها آخرین مؤلفه مسیر پیوند.) اما اگر expression یا replacement حاوی / باشد، کل مسیر به‌روزرسانی می‌شود. این کار می‌تواند سبب انتقال پرونده بین پوشه‌ها شود. ایجاد پوشه‌ها و انتقال پرونده‌ها بین سیستم‌های پرونده پشتیبانی نمی‌شود.

همانند بیشتر ابزارهای استاندارد، rename می‌تواند با یک دستگاه ترمینال (به اختصار tty) در حالت متعارف (canonical mode) استفاده شود، جایی که خط توسط tty بافر شده و برای اعتبارسنجی ورودی کاربر کلید ENTER فشرده می‌شود. با این حال اگر tty خود را در حالت cbreak قرار دهید، rename برای پاسخ به اعلان فقط به فشردن یک کلید نیاز دارد. برای تنظیم حالت cbreak، برای نمونه دستور زیر را اجرا کنید:

sh -c 'stty -icanon min 1; "$0" "$@"; stty icanon' rename -i from to files

0

تمام عملیات‌های تغییر نام درخواست‌شده موفقیت‌آمیز بودند

1

تمام عملیات‌های تغییر نام شکست خوردند

2

برخی از عملیات‌های تغییر نام شکست خوردند

4

هیچ موردی تغییر نام نیافت

64

خطای پیش‌بینی‌نشده رخ داد

با فرض وجود پرونده‌های foo1، ...، foo9، foo10، ...، foo278، دستورهای

rename foo foo00 foo?
rename foo foo0 foo??

آن‌ها را به foo001، ...، foo009، foo010، ...، foo278 تبدیل خواهند کرد. و دستور

rename .htm .html *.htm

پسوند پرونده‌های html شما را اصلاح خواهد کرد. برای کوتاه‌سازی، یک رشته خالی ارائه دهید:

rename '_with_long_name' '' file_with_long_name.*

زیررشته موجود در نام پرونده‌ها را حذف خواهد کرد.

mv(1)

برای گزارش باگ‌ها، از سامانه پیگیری مشکلات https://github.com/util-linux/util-linux/issues.

دستور rename بخشی از بسته util-linux است که می‌توان آن را از آرشیو هسته لینوکس https://www.kernel.org/pub/linux/utils/util-linux.

دریافت کرد.

2026-06-16 util-linux 2.41.5