Як перейменувати файл у терміналі 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 це сухий запуск — показує, що сталося б, але не вносить змін.
Цитуйте свої змінні, щоб обробляти імена файлів з пробілами або спеціальними символами
Використовуйте контроль версій або резервні копії перед перейменуванням тисяч файлів
