- Как переименовать файл Linux
- Утилита MV для переименования файла Linux
- Команда rename для переименования файла Linux
- Утилита PYRENAMER для переименования файла
- Заключение
- Как переименовать файлы и каталоги в Linux
- Переименование файлов с помощью команды mv
- Переименование нескольких файлов с помощью команды mv
- Переименование файлов с помощью команды rename
- Выводы
- Rename a File in Linux – Bash Terminal Command
- How to Use the Linux mv Command
- How to Name Files in Bulk Using mv
- Conclusion
Как переименовать файл Linux
Процедуру переименования файла Линукс можно отнести к разряду элементарных задач, однако не все новички соглашаются с данным предположением. Они часто сталкиваются с трудностями в этом деле. Что касается опытных пользователей, то им тоже есть чему поучиться, когда речь заходит о возможностях Linux. Они не имеют особых проблем в работе с графическим интерфейсом, но тем самым отказываются от заманчивой гибкости системы, которую может обеспечить терминал. В данной статье мы поговорим о переименовании файла Линукс через терминал, а также затронем другие возможности системы.
Утилита MV для переименования файла Linux
В системе Линукс есть стандартная команда «mv». Обычно она доступна по молчанию, используется для перемещения файлов, что при некоторых условностях одновременно является и их переименованием. Как выглядит синтаксическая структура команды:
- -f – замена существующего файла.
- -i – запрос на необходимость замены файлов.
- -n – отказ от замены файлов.
- -u – замена тех файлов, которые были видоизменены.
- -v – демонстрация перечня обработанных файлов.
Итак, как переименовать файл Линукс при помощи стандартной программы? Для этого необходимо ввести в терминале название вспомогательной программы + текущее имя файла + новое название для файла.
Как видно из скриншота выше, команда mv переименовала файл «oldfile» в «newfile».
При необходимости переместить его из одного каталога в другой, это можно сделать с указанием полного пути например так:
$ mv /home/ya/oldfile /home/ya/newfile
Результат выполнения будет такой же.
Чтобы беспрепятственно переместить документ, нужно иметь права на запись в конкретный каталог. Что делать, если прав нет, и папка принадлежит иному юзеру системы?
Ответ: придется запускать утилиту через sudo или su.
ВАЖНО! при работе с чужими папками рекомендуется запускать утилиту mv с опцией -i. Таким образом, вы не сможете удалить информацию из папки – все данные останутся на месте, но уже с некоторыми коррективами.
Команда rename для переименования файла Linux
Для воплощения данной задумки в жизнь юзер системы может воспользоваться командой под названием «rename». Как и её аналоги, она тоже разработана для этих целей, но имеет за собой более обширный функционал. С её помощью легко выполнить массовое переименование документов Линукс. В отдельно взятых случаях это действительно необходимо.
Как выглядит синтаксическая структура команды:
rename опции старое_имя новое_имя файлы
Какие функции программы могут потребоваться пользователю Linux:
- —v – демонстрация перечня файлов, которые были обработаны.
- —n – запуск пробного режима (теста) для более подробного изучения специфики команды. Это означает, что заданные манипуляции не будут реализованы на практике.
- -f – опция для принудительной перезаписи файлов, которые уже наличествуют в системе.
И сразу же рассмотрим на примере. Допустим, нужно поменять название для всех txt файлов из каталога в .doc:
Примечание: наличие символа «*» в заданной команде подразумевает переименование всех файлов, которые содержатся в каталоге.
Утилита PYRENAMER для переименования файла
Некоторые пользователи Линукс не любят иметь дело с терминалом, и стараются находить альтернативные способы решения проблем, непосредственно связанных с системой. Если вы относитесь к числу таких людей, предлагаем вашему вниманию другой метод массового переименования файлов. Для реализации этой идеи вы можете воспользоваться графической утилитой pyrenamer. Это означает, что все действия можно выполнить при помощи мышки, но перед этим нужно установить программу:
Утилита представлена в виде окна, состоящего из нескольких блоков:
- Перечень файлов, которые необходимо видоизменить;
- Раздел настроек (здесь пользователь задает параметры переименования файлов);
- Дерево файловой системы.
В утилите pyrenamer часто встречаются подсказки, что значительно упрощает и ускоряет работу пользователю Линукс. С помощью данной программы можно выполнить не только массовое переименование файлов, но и выборочное – вплоть до одного файла. Pyrenamer является полноценным аналогом команды rename и утилиты mv, не уступая им в своей функциональности. Это прекрасный инструмент для тех, кто хочет вносить нужные правки в графическом интерфейсе, не прибегая к использованию терминала и сложных команд.
Заключение
В данной статье представлены самые простые и доступные способы переименования файлов в Линукс (через терминал и графический интерфейс), которые помогут новичку освоить свой дистрибутив.
Как переименовать файлы и каталоги в Linux
Переименование файлов — одна из самых основных задач, которые вам часто приходится выполнять в системе Linux. Вы можете переименовывать файлы с помощью файлового менеджера с графическим интерфейсом пользователя или через терминал командной строки.
Переименовать один файл легко, но переименование сразу нескольких файлов может быть проблемой, особенно для пользователей, которые плохо знакомы с Linux.
В этом руководстве мы покажем вам, как использовать команды mv и rename для переименования файлов и каталогов.
Переименование файлов с помощью команды mv
Команда mv (сокращение от move) используется для переименования или перемещения файлов из одного места в другое. Синтаксис команды mv следующий:
mv [OPTIONS] source destination
source может быть один или несколько файлов или каталоги, а destination может быть один файл или каталог.
- Если вы укажете несколько файлов в качестве source , destination должен быть каталог. В этом случае source файлы перемещаются в целевой каталог.
- Если указать один файл в качестве source и destination целевой существующий каталог, то файл перемещается в указанный каталог.
- Чтобы переименовать файл, вам необходимо указать один файл в качестве source и один файл в качестве destination объекта.
Например, чтобы переименовать файл file1.txt в file2.txt вы должны запустить:
Переименование нескольких файлов с помощью команды mv
Команда mv может переименовывать только один файл за раз, но ее можно использовать вместе с другими командами, такими как find или inside bash for циклов for или while для переименования нескольких файлов.
В следующем примере показано, как использовать цикл for в Bash для переименования всех файлов .html в текущем каталоге, изменив расширение .html на .php .
for f in *.html; do mv -- "$f" "$f%.html>.php" done
Давайте проанализируем код построчно:
- Первая строка создает цикл for и выполняет итерацию по списку всех файлов с .html .
- Вторая строка применяется к каждому элементу списка и перемещает файл в новый, заменяя .html на .php . Часть $ использует расширение параметра оболочки для удаления части .html из имени файла.
- done указывает конец сегмента цикла.
Вот пример использования mv в сочетании с find для достижения того же, что и выше:
find . -depth -name "*.html" -exec sh -c 'f="<>"; mv -- "$f" "$.php"' ;
Команда find передает все файлы, заканчивающиеся на .html в текущем каталоге, в mv один за другим с использованием параметра -exec . Строка <> — это имя файла, который в данный момент обрабатывается.
Как видно из приведенных выше примеров, переименование нескольких файлов с помощью команды mv — непростая задача, поскольку для этого требуется хорошее знание сценариев Bash.
Переименование файлов с помощью команды rename
Команда rename используется для переименования нескольких файлов. Эта команда более продвинутая, чем mv поскольку требует некоторых базовых знаний о регулярных выражениях.
Есть две версии команды rename с разным синтаксисом. В этом руководстве мы будем использовать Perl-версию команды rename . Если в вашей системе не установлена эта версия, вы можете легко установить ее с помощью диспетчера пакетов вашего дистрибутива.
- Установить rename в Ubuntu и Debian
yay perl-rename ## or yaourt -S perl-rename
Синтаксис команды rename следующий:
rename [OPTIONS] perlexpr files
Команда rename переименует files соответствии с указанным регулярным выражением perlexpr . Вы можете узнать больше о регулярных выражениях Perl здесь .
В следующем примере все файлы с расширением .html изменятся на .php :
Вы можете использовать параметр -n для вывода имен файлов, которые нужно переименовать, без их переименования.
Результат будет выглядеть примерно так:
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)
По умолчанию команда rename не перезаписывает существующие файлы. Передайте параметр -f чтобы разрешить перезапись существующих файлов:
Ниже приведены еще несколько распространенных примеров использования команды rename :
- Замените пробелы в именах файлов символами подчеркивания
Выводы
Мы показали вам, как использовать команды mv и rename для переименования файлов.
Существуют также другие команды для переименования файлов в Linux, такие как mmv . Новые пользователи Linux, которых пугает командная строка, могут использовать инструменты пакетного переименования графического интерфейса пользователя, такие какMétamorphose .
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.
Rename a File in Linux – Bash Terminal Command
Zaira Hira
Renaming files is a very common operation whether you are using the command line or the GUI.
Compared to the GUI (or Graphical User Interface), the CLI is especially powerful. This is in part because you can rename files in bulk or even schedule the scripts to rename files at a certain point in time.
In this tutorial, you will see how you can rename files in the Linux command line using the built-in mv command.
How to Use the Linux mv Command
You can use the built-in Linux command mv to rename files.
The mv command follows this syntax:
mv [options] source_file destination_file
Here are some of the options that can come in handy with the mv command:
- -v , —verbose : Explains what is being done.
- -i , —interactive : Prompts before renaming the file.
Let’s say you want to rename index.html to web_page.html . You use the mv command as follows:
zaira@Zaira:~/rename-files$ mv index.html web_page.html
Let’s list the files and see if the file has been renamed:
zaira@Zaira:~/rename-files$ ls web_page.html
How to Name Files in Bulk Using mv
Let’s discuss a script where you can rename files in a bulk using a loop and the mv command.
Here we have a list of files with the extension .js .
zaira@Zaira:~/rename-files$ ls -lrt total 0 -rw-r--r-- 1 zaira zaira 0 Sep 30 00:24 index.js -rw-r--r-- 1 zaira zaira 0 Sep 30 00:24 config.js -rw-r--r-- 1 zaira zaira 0 Sep 30 00:24 blog.js
Next, you want to convert them to .html .
You can use the command below to rename all the files in the folder:
for f in *.js; do mv -- "$f" "$.html"; done
Let’s break down this long string to see what’s happening under the hood:
- The first part [ for f in *.js ] tells the for loop to process each “.js” file in the directory.
- The next part [ do mv — «$f» «$.html ] specifies what the processing will do. It is using mv to rename each file. The new file is going to be named with the original file’s name excluding the .js part. A new extension of .html will be appended instead.
- The last part [ done ] simply ends the loop once all the files have been processed.
zaira@Zaira:~/rename-files$ ls -lrt total 0 -rw-r--r-- 1 zaira zaira 0 Sep 30 00:24 index.html -rw-r--r-- 1 zaira zaira 0 Sep 30 00:24 config.html -rw-r--r-- 1 zaira zaira 0 Sep 30 00:24 blog.html
Conclusion
As you can see, renaming files is quite easy using the CLI. It can be really powerful when deployed in a script.
What’s your favorite thing you learned here? Let me know on Twitter!
You can read my other posts here.