Как переименовать файлы и каталоги в Linux
Как переименовать файлы и каталоги в Linux
Переименование файлов и каталогов является одной из самых основных задач, которые вам часто приходится выполнять в системе Linux. Вы можете переименовывать файлы, используя файловый менеджер с графическим интерфейсом или через терминал командной строки.
Переименовать один файл легко, но переименование нескольких файлов одновременно может быть проблемой, особенно для пользователей, которые являются новичками в Linux.
Команда mv
Для перемещения и переименования файлов в Linux используется команда mv . Это служебная программа для командной строки, которая позволяет перемещать или переименовывать файлы и папки.
Синтаксис команды mv выглядит следующим образом:
Основные опции для данной команды:
-f | Перезапись без подтверждения пользователя. Данная опция отменяет действие опций -i или -n. |
-i | Интерактивный режим работы. При перезаписи программа будет выдавать запрос на подтверждения пользователя. |
-n | Запрет перезаписи. Данная опция отменяет действие опций -f или -i. |
-v | Вывод подробной информации. |
Обратите внимание, по умолчанию команда mv перезаписывает существующие файлы новыми. Чтобы этого избежать используйте опцию -i или -n .
Способ 2: Терминал
К сожалению, не всегда получается переименовать файл с помощью специальных программ с графическим интерфейсом. Порою может возникнуть ошибка или что-то подобное, мешающее выполнению данной задачи. Но в Линуксe есть куда более одного способа выполнения поставленной задачи, поэтому переходим прямиком в «Терминал».
Команда mv
Команда mv в Линуксе отвечает за перемещение файлов из одной директории в другую. Но по своей сути перемещение файла схоже с переименованием. Так, используя эту команду, если переместить файл в ту же папку, в которой он находится, при этом задав новое имя, получится его переименовать.
Теперь давайте подробно разберемся с командой mv.
Синтаксис и опции команды mv
Синтаксис выглядит следующим образом:
mv опция оригинальное_имя_файла имя_файла_после_переименования
Чтобы пользоваться всеми возможностями данной команды, необходимо изучить ее опции:
- -i — запрашивать разрешении при замене существующих файлов;
- -f — заменять существующий файл без разрешения;
- -n — запретить замену существующего файла;
- -u — разрешить замену файла, если в нем присутствуют изменения;
- -v — показать все обработанные файлы (список).
После того как мы разобрались со всеми особенностями команды mv, можно приступать непосредственно к самому процессу переименования.
Примеры использования команды mv
Сейчас будет рассмотрена ситуация, когда в папке «Документы» находится файл с именем «Старый документ», наша задача переименовать его в «Новый документ», используя для этого команду mv в «Терминале». Для этого нам необходимо вписать:
mv -v «Старый документ» «Новый документ»
Примечание: чтобы операция прошла успешно, необходимо нужную папку открыть в «Терминале» и только после этого проводить все манипуляции. Открыть папку в «Терминале» можно при помощи команды cd.
Как можно видеть на изображении, нужный нам файл получил новое имя. Обратите внимание, что в «Терминале» указана опция «-v», которая строчкой ниже вывела подробный отчет о выполненной операции.
Также, используя команду mv, можно не только переименовать файл, но и попутно переместить его в другую папку. Как говорилось выше, данная команда именно для этого и нужна. Чтобы это сделать надо, помимо указания имени файла, прописать путь к нему.
Допустим, вы хотите из папки «Документы» переместить файл «Старый документ» в папку «Видео» попутно переименовав его в «Новый документ». Вот как будет выглядеть команда:
mv -v /home/user/Документы/»Старый документ» /home/user/Видео/»Новый документ»
Важно: если имя файла состоит из двух и более слов, его необходимо заключать в кавычки.
Примечание: если к папке, в которую вы собираетесь переместить файл, попутно переименовав его, у вас нет прав доступа, необходимо выполнять команду через суперпользователя, прописав в начале «super su» и введя пароль.
Команда rename
Команда mv хороша, когда необходимо переименовать один файл. И, безусловно, замены ей в этом не найти — она лучшая. Однако, если необходимо переименовать множество файлов или же заменить лишь часть имени, то фаворитом становится команда rename.
Синтаксис и опции команды rename
Как и с прошлой командой, для начала разберемся с синтаксисом rename. Выглядит он следующим образом:
rename опция ‘s/старое_имя_файла/новое_имя_файла/’ имя_файла
Как можно заметить, синтаксис намного сложнее, чем у команды mv, однако он позволяет выполнять больше действий с файлом.
Теперь давайте рассмотрим опции, они следующие:
- -v — показать обработанные файлы;
- -n — предварительный просмотр изменений;
- -f — принудительно переименовать все файлы.
Теперь давайте рассмотрим наглядные примеры данной команды.
Примеры использования команды rename
Допустим, в директории «Документы» у нас есть множество файлов с названием «Старый документ num», где num — это порядковый номер. Наша задача, используя команду rename, во всех этих файлах изменить слово «Старый» на «Новый». Для этого нам необходимо выполнить следующую команду:
rename -v ‘s/Старый/Новый/’ *
где, «*» — все файлы в указанной директории.
Примечание: если вы хотите провести изменение в одном файле, то вместо «*» пропишите его имя. Не забывайте, если имя состоит из двух и более слов, то его необходимо брать в кавычки.
Примечание: с помощью данной команды можно запросто изменить расширения файлов, указав изначально старое расширения, записав его, например, в виде «.txt», а затем новое, например, «.html».
С помощью команды rename также можно менять регистр текста имени. Например, мы хотим файлы с именем «NEW FILE (num)» переименовать в «new file (num)». Для этого нужно прописать следующую команду:
Примечание: если необходимо поменять регистр в имени файлов на русском, то используйте команду «rename -v ‘y/А-Я/а-я/’ *».
Способ 3: Консоль Linux
Напоследок мы разберем способ, как переименовать файл в консоли Linux (местный аналог «Командной строки» в Windows).
Разбираться мы будем на примере. Допустим, в папке «Документы», что находится в домашней директории, имеется файл под названием «Старый документ», наша задача переименовать его в «Новый документ». Для этого:
- Откройте консоль, прописав в поиске «Терминал».
- Перейдите в нужную папку, используя команду cd. В нашем случае необходимо выполните команду: «cd /home/ИмяПользователя/Документы».
- Переименуйте файл с помощью команды mv. Рекомендуется использовать также опцию -v, чтобы отобразился лог операции. В нашем примере команда будет выглядеть так: «mv -v «Старый документ» «Новый документ».
Это был третий способ, как переименовать файл Linux. К слову, после всех проделаных действий «Терминал» можно закрывать.
Переименование командой rename
Команда rename служит для массового (пакетного) переименования файлов. Она позволяет выполнять замену определенных символов или частей имени файла и использованием Perl-регулярных выражений.
Если вдруг в вашем дистрибутиве нет команды rename , то ее можно установить, выполнив (выберите соответствующую команду для вашего дистрибутива):
Синтаксис команды rename :
старое_имя — регулярное выражение или часть имени файла, которое нужно заменить на новое_имя .
новое_имя — задает результирующее имя файла (может быть регулярным выражением).
Основные опции:
-f — перезаписывать существующие файлы.
-n — вывести список файлов, которые будут переименованы и их новые имена, но не выполнять переименование.
-v — вывести список обработанных файлов.
Проще всего понять, как пользоваться данной командой, на примерах.
Изменение расширения файлов
Массово изменить расширение .html на .php у всех html-файлов.
По умолчанию rename не перезаписывает существующие файлы. Чтобы существующие файлы перезаписывались, используется опция -f :
Замена пробелов на подчеркивание
Заменить все символы пробелов в имени файлов на символ подчеркивания:
Конвертация имен файлов в строчные буквы
Конвертация имен файлов в прописные буквы
Показать, что именно будет переименовано, но не переименовывать
Чтобы избежать ошибок при переименовании файлов, особенно при использовании сложных регулярных выражений, можно сначала вывести список того, что будет переименовано, но не запускать само переименование. Для этого служит опция -n .
Например, мы хотим изменить расширение у файлов с .jpeg на .jpg . Используем опцию -n , чтобы просто вывести какие файлы будут переименованы:
Полное описание команд mv и rename можно получить, выполнив в терминале команды:
Узнав об использовании командной строки Linux, вы должны знать о разрешениях, о том, как создавать пользователей и группы, как создавать каталоги, как копировать файлы, как перемещать и переименовывать файлы, а также все ссылки.
Вот как загрузить большие файлы на Google Диск с экрана электронной почты Gmail, чтобы легко делиться большими файлами.
Переименование файлов с помощью команды переименования
Команда rename используется для переименования нескольких файлов. Эта команда более продвинутая, чем mv так как требует базовых знаний о регулярных выражениях.
Существует две версии команды rename с различным синтаксисом. В этом уроке мы будем использовать версию команды rename perl. Если у вас не установлена эта версия в вашей системе, вы можете легко установить ее с помощью менеджера пакетов вашего дистрибутива.
Установите переименование в Ubuntu и Debian
sudo apt install rename
Установите переименование на CentOS и Fedora
sudo yum install prename
Установите переименование в Arch Linux
yay perl-rename ## or yaourt -S perl-rename
Синтаксис команды rename следующий:
rename perlexpr files
Команда rename переименует все files соответствии с заданным регулярным выражением perlexpr . Вы можете о регулярных выражениях perl здесь.
Например, следующая команда изменит все файлы с расширением .html на .php :
Вы можете использовать аргумент -n для печати имен файлов, которые нужно переименовать, без переименования.
rename -n 's/.html/.php/' *.html
Вывод будет выглядеть примерно так:
rename(file-90.html, file-90.php) rename(file-91.html, file-91.php) rename(file-92.html, file-92.php) rename(file-93.html, file-93.php) rename(file-94.html, file-94.php)
По умолчанию команда переименования не перезаписывает существующие файлы. Передайте аргумент -f чтобы разрешить перезапись существующих файлов.
rename -f 's/.html/.php/' *.html
Ниже приведены еще несколько распространенных примеров использования команды переименования:
Заменить пробелы в именах файлов подчеркиванием
Преобразование имен файлов в нижний регистр
Преобразовать имена файлов в верхний регистр