Переименование файлов и папок в Linux через терминал: команды mv и rename
Для того чтобы переименовать файлы и папки в Linux через терминал, используются две основные команды: mv для одиночных операций и rename для массового изменения имен по шаблону. Стандартная утилита mv перемещает файл в новое имя внутри той же директории, а rename позволяет пакетно изменять имена группы объектов с поддержкой регулярных выражений.
Оглавление
Команда mv для одиночного переименования
Утилита mv — стандартный инструмент, который по сути перемещает файл в новое имя внутри той же директории. Название является сокращением от английского "move" (перемещать), но при указании только нового имени в текущем каталоге команда выполняет именно переименование.
Базовый синтаксис:
mv старое_имя новое_имя
Команда работает одинаково как для обычных файлов, так и для каталогов. Если вы хотите переименовать объект с сохранением его местоположения, достаточно указать новое имя без пути к другой папке.
Для управления поведением при конфликте имен доступны опции:
-f— принудительная перезапись существующего файла-i— запрос подтверждения перед перезаписью
Команда rename для массового переименования
Утилита rename предназначена для пакетного изменения имен группы файлов по заданному шаблону или регулярному выражению. Она особенно полезна, когда нужно изменить расширение или часть имени у множества объектов одновременно. В отличие от mv, rename поддерживает сложные паттерны и регулярные выражения Perl.
Пример использования для замены подстроки во всех текстовых файлах:
rename 's/старое/новое/' *.txt
Эта команда заменяет «старое» на «новое» во всех файлах с расширением .txt в текущей директории.
Важные нюансы при работе в терминале
При использовании mv следует проявлять осторожность: если целевое имя уже существует, файл может быть перезаписан без предупреждения. Это поведение зависит от настроек алиасов в конкретной системе.
Для выполнения операций в системных директориях или над защищенными файлами может потребоваться добавление sudo перед командой для получения необходимых прав доступа.
Частые ошибки
- Случайная перезапись файлов — при использовании
mvбез опции-iсуществующий файл с целевым именем может быть перезаписан без предупреждения. Рекомендуется использовать опцию-iдля запроса подтверждения перед перезаписью. - Отсутствие прав доступа — при попытке переименовать объекты в системных директориях или защищенные файлы операция может завершиться ошибкой. В таких случаях необходимо добавить
sudoперед командой.
FAQ
Как переименовать несколько файлов одновременно в Linux?
Для массового переименования используется утилита rename, которая позволяет изменять имена группы файлов по заданному шаблону или регулярному выражению. Например, команда rename 's/старое/новое/' *.txt заменит подстроку во всех текстовых файлах текущей директории.
Работает ли команда mv одинаково для файлов и папок?
Да, команда mv работает одинаково как для обычных файлов, так и для каталогов. Для переименования с сохранением местоположения достаточно указать новое имя без пути к другой папке.
Что означает команда mv в Linux?
Команда mv является сокращением от английского "move" (перемещать). Однако при указании только нового имени в текущем каталоге она выполняет именно переименование, а не перемещение в другую директорию.