Как переименовать файл в терминале Linux
Переименование файлов — одна из самых распространенных задач в любой операционной системе, а в Linux это становится особенно мощным, когда выполняется через терминал. От простых изменений имен до сложных пакетных операций с использованием шаблонов, переименование является важным инструментом для:
- Организации файлов по дате, типу или проекту
- Автоматизации очистки журналов, резервных копий или временных данных
- Стандартизации имен файлов для скриптов, развертываний или API
- Предобработки данных в средах разработки, исследований или науки о данных
- Интеграции в конвейеры для CI/CD, обработки изображений или версионирования
Будь вы разработчиком, переименовывающим тысячи файлов изображений, системным администратором, очищающим журналы, или инженером DevOps, готовящим артефакты для развертывания — понимание того, как эффективно переименовывать файлы в терминале, сэкономит время, уменьшит количество ошибок и откроет возможности автоматизации в большом масштабе.
Основное переименование файлов с помощью mv
Команда mv (move) является стандартным способом переименования файлов:
Это работает для:
- Переименования файла
- Перемещения файла в новую директорию
- Оба действия одновременно
Пример:
Переименование нескольких файлов — продвинутые техники
1. 🔁 Использование rename (на основе Perl)
Самый мощный и гибкий способ.
Установите (если отсутствует):
Основное использование:
Это переименовывает все файлы .txt, заменяя “old” на “new” в именах файлов.
Примеры:
| Цель | Команда |
|---|---|
| Добавить префикс ко всем файлам .jpg | rename ‘s/^/IMG_/’ *.jpg |
| Удалить .bak из имен файлов | rename ‘s/.bak$//’ *.bak |
| Изменить .JPG на .jpg | rename ‘s/.JPG$/.jpg/i’ *.JPG |
| Заменить пробелы на подчеркивания | rename ‘s/ /_/g’ * |
Использование mmv
Еще один удобный инструмент, хотя менее гибкий, чем “rename“.
Установка:
Пример использования:
Использование find + mv + bash (для сложной логики)
Пример: Заменить дефисы на подчеркивания для файлов .txt рекурсивно.
Это безопасно, гибко и работает в вложенных директориях.
Переименование с помощью циклов for
Пример: Добавить префикс ко всем файлам .log
Вы можете настроить с помощью более сложной логики bash-скриптов (например, замена подстрок, расширения, временные метки и т. д.)
Лучшие практики
Всегда тестируйте перед массовым переименованием:
-n это сухой запуск — показывает, что произойдет, но не вносит изменений.
Оборачивайте ваши переменные в кавычки, чтобы обрабатывать имена файлов с пробелами или специальными символами
Используйте систему контроля версий или резервные копии перед переименованием тысяч файлов
