- Как переименовать файл Linux
- Как переименовать файл в Linux с помощью mv
- Переименование файлов Linux с помощью rename
- Переименование файлов в pyRenamer
- Выводы
- Переименование файлов в Linux командой rename
- Переименовываем название файлов командой rename
- Переименовываем расширение файлов командой rename
- Заключение
Как переименовать файл Linux
Переименование файла linux — очень простая операция, но для новичков в Linux эта задача может оказаться сложной. Также здесь есть несколько нюансов и возможностей, которые желательно знать уже опытным пользователям, например, массовое переименование. В графическом интерфейсе все делается очень просто, но настоящую гибкость дает терминал.
В этой статье мы рассмотрим как переименовать файл в Linux с помощью терминала, рассмотрим такие возможности, как массовое пакетное переименование файлов, а также регулярные выражения.
Как переименовать файл в Linux с помощью mv
В Linux существует замечательная стандартная утилита mv, которая предназначена для перемещения файлов. Но по своей сути перемещение — это то же самое, что и переименование файла linux, если выполняется в одной папке. Давайте сначала рассмотрим синтаксис этой команды:
$ mv опции файл-источник файл-приемник
Теперь рассмотрим основные опции утилиты, которые могут вам понадобиться:
- -f — заменять файл, если он уже существует;
- -i — спрашивать, нужно ли заменять существующие файлы;
- -n — не заменять существующие файлы;
- -u — заменять файл только если он был изменен;
- -v — вывести список обработанных файлов;
Чтобы переименовать файл linux достаточно вызвать утилиту без дополнительных опций. Просто передав ей имя нужного файла и новое имя:
Как видите, файл был переименован. Вы также можете использовать полный путь к файлу или переместить его в другую папку:
mv /home/sergiy/test/newfile /home/sergiy/test/file1
Обратите внимание, что у вас должны быть права на запись в ту папку, в которой вы собираетесь переименовывать файлы. Если папка принадлежит другому пользователю, возможно, нужно будет запускать программу через sudo. Но в таком случае лучше запускать с опцией -i, чтобы случайно ничего не удалить.
Переименование файлов Linux с помощью rename
В Linux есть еще одна команда, которая позволяет переименовать файл. Это rename. Она специально разработана для этой задачи, поэтому поддерживает такие вещи, как массовое переименование файлов linux и использование регулярных выражений. Синтаксис утилиты тоже сложнее:
$ rename опции ‘s/ старое_имя / новое_имя ‘ файлы
$ rename опции старое_имя новое_имя файлы
В качестве старого имени указывается регулярное выражение или часть имени которую нужно изменить, новое имя указывает на что нужно заменить. Файлы — те, которые нужно обработать, для выбора файлов можно использовать символы подставки, такие как * или ?.
- -v — вывести список обработанных файлов;
- -n — тестовый режим, на самом деле никакие действия выполнены не будут;
- -f — принудительно перезаписывать существующие файлы;
Например, переименуем все htm файлы из текущей папки в .html:
Символ звездочки означает, что переименование файлов linux будет выполнено для всех файлов в папке. В регулярных выражениях могут применяться дополнительные модификаторы:
- g (Global) — применять ко всем найденным вхождениям;
- i (Case Censitive) — не учитывать регистр.
Модификаторы размещаются в конце регулярного выражения, перед закрывающей кавычкой. Перед тем, как использовать такую конструкцию, желательно ее проверить, чтобы убедиться, что вы не допустили нигде ошибок, тут на помощь приходит опция -n. Заменим все вхождения DSC на photo в именах наших фотографий:
rename -n ‘s/DSC/photo/gi’ *.jpeg
Будут обработаны DSC, DsC и даже dsc, все варианты. Поскольку использовалась опция -n, то утилита только выведет имена изображений, которые будут изменены.
Можно использовать не только обычную замену, но и полноценные регулярные выражения чтобы выполнить пакетное переименование файлов linux, например, переделаем все имена в нижний регистр:
Из этого примера мы видим, что даже если такой файл уже существует, то он перезаписан по умолчанию не будет. Не забывайте использовать опцию -n чтобы ничего случайно не повредить.
Переименование файлов в pyRenamer
Если вы не любите использовать терминал, но вам нужно массовое переименование файлов Linux, то вам понравится утилита pyrenamer. Это графическая программа и все действия здесь выполняются в несколько щелчков мыши. Вы можете установить ее из официальных репозиториев:
sudo apt install pyrenamer
В окне программы вы можете видеть дерево файловой системы, центральную часть окна, где отображаются файлы, которые будут изменены, а также панель для указания параметров переименования.
Вы можете удалять или добавлять символы, переводить регистр, автоматически удалять пробелы и подчеркивания. У программы есть подсказки, чтобы сделать ее еще проще:
Опытным пользователям понравится возможность pyRenamer для переименования мультимедийных файлов из их метаданных. Кроме того, вы можете переименовать один файл если это нужно. Эта утилита полностью реализует функциональность mv и remove в графическом интерфейсе.
Выводы
В этой статье мы рассмотрели как переименовать файл в консоли linux. Конечно, есть и другие способы, например, написать скрипт, или использовать файловые менеджеры. А как вы выполняете сложные операции по переименованию? Напишите в комментариях!
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Переименование файлов в Linux командой rename
Предположим, у вас имеются множество каких то файлов которые необходимо переименовать, а в ручную это сделать весьма проблематично так как на это может уйти много времени. В этом случае можно воспользоваться командой “rename”, данная команда может переименовать как названия так и расширения файлов. Опытные пользователи Linux наверняка знакомы с данной командой, но, для новичков данная команда возможно даже и не известна. Работа с командой “rename” происходит в терминале, и если вы начинающий администратор Linux, вам так же будет полезно узнать о данной команде. Так как в терминале Linux лежит вся основа и знать его базовые возможности крайне желательно как для обычного пользователя, который только начинает изучать данную операционную систему, так и для администраторов, и так, от слов к делу.
Переименовываем название файлов командой rename
Предположим, у нас имеются файлы с расширением “.jpg” сделанные при помощи камеры, как возможно вы знаете, при фотосъемке задается какое-то не особо понятное название файлов, для примера я взял фото с телефона – “IMG_20200120_1804.jpg”. И мне необходимо переименовать данные файлы, к примеру, хочу задать название города, где были сделаны эти фотки, тут нам и поможет команда “rename”. И так, как вы поняли, данная команда выполняется в терминале, переходим в него, и первым делом необходимо убедиться в том, что у вас установлен пакет с данной командой, это можно узнать набрав команду:
В том случае, если данная команда не доступна, можно установить пакет с этой командой:
Работа с командой “rename” выглядит следующим образом:
rename опция ‘s/старое_имя/новое_имя’ и указываем какие файлы.
В случае с расширением “jpg” вводим через пробел “*.jpg”, точно так же можно указывать и другие расширения файлов, которые необходимо переименовать. В данном случае звездочка обозначает что нужно переименовать все файлы с расширением “jpg”.
Так же можно вызвать справку по данной команде набрав:
И так, от слов к практике, как говорилось выше, имеются файлы “IMG_20200120_1804.jpg” которые необходимо переименовать и задать вместо не понятных букв и цифр название города, пусть это будет “ОМСК”. Что бы переименовать вводим команду:
rename 's/IMG_20200120/OMCK/' *.jpg
Но и это еще не все, предположим я хочу переименовать файлы с заглавных букв в прописные, это так же просто сделать командой “rename”. Что бы сменить регистр букв вместо буквы “s” в команде указываем букву “y”, затем вводим “A-Z” – это буквы Английского алфавита, и через косую черту “/” указываем тот же Английский алфавит, но уже прописные буквы. То есть:
rename ‘y/A-Z/a-z/’ и указываем точно так же как и при переименовании файлы “*.jpg”:
Идем дальше, давайте удалим слово “omck” с нижним подчеркиванием, для этого команда будет выглядеть следующим образом:
rename ‘s/omck_//’ точно так же указываем расширения файлов *.jpg:
Переименовываем расширение файлов командой rename
И так, думаю с переименованием файлов понятно, теперь переходим к переименованию расширений. Предположим, имеются скрипты написанные в формате “.txt” и их нужно переименовать в “.sh”. Вот по какой-то причине скрипты имеют такое расширение, не будем вдаваться в подробности. Для примера были созданы файлы “scrips_1.txt” “scrips_2.txt” “scrips_3.txt” “scrips_4.txt” “scrips_5.txt”. Что бы переименовать расширение командой “rename” вводим
rename ‘s/.расширение которое имеется/.расширение которое необходимо/’ *
В нашем же случае это будет выглядеть следующим образом:
А что бы совсем удалить расширения командой “rename”, вводим
rename ‘s/\.название расширения$//’ *.название расширения:
Заключение
Данный метод имеет свои преимущества, и важен для некоторых пользователей, безусловно, можно воспользоваться графическими утилитами для этих задач, например “Pyrenamer”. Но, как я неоднократно говорил, изучайте терминал, в нем вся сила Linux, да и для того что бы переименовать файлы, а этим я более чем уверен, вы занимаетесь не часто, ставить какой то специализированный софт не имеет смысла. В случае же с командой “Rename”, ее присутствие в системе не заметно, и она не будет мозолить вам глаза. А при необходимости вы всегда сможете выполнить необходимые операции по переименованию файлов.
Так же стоит учесть и тот факт, что данная команда будет полезна системным администраторам, так как на серверах не имеется графического итерфейса. Так же рекомендую к прочтению “Перемещение по директориям” и “Просматриваем содержимое директорий“, все эти операции совершаются в терминале и могут быть вам полезны.
А на этом сегодня все. Надеюсь данная статья будет вам полезна.
Журнал Cyber-X