Как изменить имя файла ubuntu

Переименование файла linux - очень простая операция, но для новичков в Linux эта задача может оказаться сложной. Также здесь есть несколько нюансов и

Переименование файла linux — очень простая операция, но для новичков в Linux эта задача может оказаться сложной. Также здесь есть несколько нюансов и возможностей, которые желательно знать уже опытным пользователям, например, массовое переименование. В графическом интерфейсе все делается очень просто, но настоящую гибкость дает терминал.

В этой статье мы рассмотрим как переименовать файл в Linux с помощью терминала, рассмотрим такие возможности, как массовое пакетное переименование файлов, а также регулярные выражения.

Как переименовать файл в Linux с помощью mv

В Linux существует замечательная стандартная утилита mv, которая предназначена для перемещения файлов. Но по своей сути перемещение — это то же самое, что и переименование файла linux, если выполняется в одной папке. Давайте сначала рассмотрим синтаксис этой команды:

$ mv опции файл-источник файл-приемник

Теперь рассмотрим основные опции утилиты, которые могут вам понадобиться:

  • -f — заменять файл, если он уже существует;
  • -i — спрашивать, нужно ли заменять существующие файлы;
  • -n — не заменять существующие файлы;
  • -u — заменять файл только если он был изменен;
  • -v — вывести список обработанных файлов;

Чтобы переименовать файл linux достаточно вызвать утилиту без дополнительных опций. Просто передав ей имя нужного файла и новое имя:

mv file newfile

Как видите, файл был переименован. Вы также можете использовать полный путь к файлу или переместить его в другую папку:

mv /home/sergiy/test/newfile /home/sergiy/test/file1

Обратите внимание, что у вас должны быть права на запись в ту папку, в которой вы собираетесь переименовывать файлы. Если папка принадлежит другому пользователю, возможно, нужно будет запускать программу через sudo. Но в таком случае лучше запускать с опцией -i, чтобы случайно ничего не удалить.

Переименование файлов Linux с помощью rename

В Linux есть еще одна команда, которая позволяет переименовать файл. Это rename. Она специально разработана для этой задачи, поэтому поддерживает такие вещи, как массовое переименование файлов linux и использование регулярных выражений. Синтаксис утилиты тоже сложнее:

$ rename опции ‘s/старое_имя/новое_имя файлы

Или:

$ rename опции старое_имя новое_имя файлы

В качестве старого имени указывается регулярное выражение или часть имени которую нужно изменить, новое имя указывает на что нужно заменить. Файлы — те, которые нужно обработать, для выбора файлов можно использовать символы подставки, такие как * или ?.

Рассмотрим опции утилиты:

  • -v — вывести список обработанных файлов;
  • -n — тестовый режим, на самом деле никакие действия выполнены не будут;
  • -f — принудительно перезаписывать существующие файлы;

Например, переименуем все htm файлы из текущей папки в .html:

rename 's.htm/.html/' *.htm

Или для изображений:

rename 's.jpeg/.jpg/'*

Символ звездочки означает, что переименование файлов linux будет выполнено для всех файлов в папке. В регулярных выражениях могут применяться дополнительные модификаторы:

  • g (Global) — применять ко всем найденным вхождениям;
  • i (Case Censitive) — не учитывать регистр.

Модификаторы размещаются в конце регулярного выражения, перед закрывающей кавычкой. Перед тем, как использовать такую конструкцию, желательно ее проверить, чтобы убедиться, что вы не допустили нигде ошибок, тут на помощь приходит опция -n. Заменим все вхождения DSC на photo в именах наших фотографий:

rename -n 's/DSC/photo/gi' *.jpeg

Будут обработаны DSC, DsC и даже dsc, все варианты. Поскольку использовалась опция -n, то утилита только выведет имена изображений, которые будут изменены.

Можно использовать не только обычную замену, но и полноценные регулярные выражения чтобы выполнить пакетное переименование файлов linux, например, переделаем все имена в нижний регистр:

rename 'y/A-Z/a-z/'*.jpeg

Из этого примера мы видим, что даже если такой файл уже существует, то он перезаписан по умолчанию не будет. Не забывайте использовать опцию -n чтобы ничего случайно не повредить.

Переименование файлов в pyRenamer

Если вы не любите использовать терминал, но вам нужно массовое переименование файлов Linux, то вам понравится утилита pyrenamer. Это графическая программа и все действия здесь выполняются в несколько щелчков мыши. Вы можете установить ее из официальных репозиториев:

 sudo apt install pyrenamer

В окне программы вы можете видеть дерево файловой системы, центральную часть окна, где отображаются файлы, которые будут изменены, а также панель для указания параметров переименования.

Вы можете удалять или добавлять символы, переводить регистр, автоматически удалять пробелы и подчеркивания. У программы есть подсказки, чтобы сделать ее еще проще:

Опытным пользователям понравится возможность pyRenamer для переименования мультимедийных файлов из их метаданных. Кроме того, вы можете переименовать один файл если это нужно. Эта утилита полностью реализует функциональность mv и remove в графическом интерфейсе.

Выводы

В этой статье мы рассмотрели как переименовать файл в консоли linux. Конечно, есть и другие способы, например, написать скрипт, или использовать файловые менеджеры. А как вы выполняете сложные операции по переименованию? Напишите в комментариях!

Creative Commons License

Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

mv rename linux

Переименование файлов в Linux можно выполнять средствами графических программ, а также через командную строку. Можно переименовать один файл, а можно сразу группу файлов — массовое переименование. Рассмотрим различные способы, с помощью которых можно переименовывать файлы в Linux.

Переименование командой mv

 
Команда mv (от слова move) используется для переименования или перемещения файлов и директорий из командной строки.

Синтаксис команды mv очень простой:

mv опции источник назначение

источник — файл(ы) или директория, которую необходимо переместить или переименовать.
назначение — файл или директория, в которую будет перемещен источник.

Основные опции:
-f — перезаписывать существующие файлы.
-n — не перезаписывать существующие файлы.
-i — выдавать запрос на перезапись существующих файлов.
-u — не перемещать файлы, которые уже существуют, если существующие файлы новее (время модификации новее).
-v — выводить имя каждого файла перед его переносом.

Как задавать имена файлов и директорий для переименования:

  • Чтобы переименовать файл с помощью команды mv нужно в качестве источника задать данный файл, а в качестве назначения указать новое имя файла.
  • Если указывается путь до файла, то директории должны совпадать, иначе файл будет перемещен в другую директорию.
  • Если в качестве источника указать файл, а в качестве назначения путь до файла в другой директории и задать новое имя файла, то файл будет перемещен в другую директорию и переименован.
  • Если в качестве источника указана директория, а в качестве назначения задано новое имя для данной директории, то директория будет просто переименована. Если же директория назначения уже существует, то директория источник будет перемещена в директорию назначения.

Рассмотрим примеры.

Переименование файла

Переименование файла myfile1.dat в файл myfile2.dat:

mv myfile1.dat myfile2.dat

Переименование файла с указанием пути до файла:

mv /home/pingvinus/myfile1.dat /home/pingvinus/myfile2.dat

Переименование директории

Переименование директории /home/pingvinus/mydir1 в директорию /home/pingvinus/mydir2. Справедливо, если /home/pingvinus/mydir2 не существует.

mv /home/pingvinus/mydir1 /home/pingvinus/mydir2

Если /home/pingvinus/mydir2 существует, то, выполнив команду:

mv /home/pingvinus/mydir1 /home/pingvinus/mydir2

директория mydir1 будет перемещена внутрь директории /home/pingvinus/mydir2. То есть mydir1 будет в результате находиться по адресу /home/pingvinus/mydir2/mydir1.

Переименование и перемещение

Если в качестве файла назначения указан новый путь и новое имя файла, то файл будет перемещен и переименован. Например, следующая команда перемещает файл myfile1.dat в директорию /home/pingvinus/dir и переименовывает его в myfile2.dat:

mv /home/pingvinus/myfile1.dat /home/pingvinus/dir/myfile2.dat

Переименование командой rename

Команда rename служит для массового (пакетного) переименования файлов. Она позволяет выполнять замену определенных символов или частей имени файла и использованием Perl-регулярных выражений.

Если вдруг в вашем дистрибутиве нет команды rename, то ее можно установить, выполнив (выберите соответствующую команду для вашего дистрибутива):

sudo apt install rename
sudo yum install prename
yaourt -S perl-rename

Синтаксис команды rename:

rename опции ’s/старое_имя/новое_имяфайлы

старое_имя — регулярное выражение или часть имени файла, которое нужно заменить на новое_имя.
новое_имя — задает результирующее имя файла (может быть регулярным выражением).

Основные опции:
-f — перезаписывать существующие файлы.
-n — вывести список файлов, которые будут переименованы и их новые имена, но не выполнять переименование.
-v — вывести список обработанных файлов.

Проще всего понять, как пользоваться данной командой, на примерах.

Изменение расширения файлов

Массово изменить расширение .html на .php у всех html-файлов.

rename 's/.html/.php/' *.html

По умолчанию rename не перезаписывает существующие файлы. Чтобы существующие файлы перезаписывались, используется опция -f:

rename -f 's/.html/.php/' *.html

Замена пробелов на подчеркивание

Заменить все символы пробелов в имени файлов на символ подчеркивания:

rename 'y/ /_/' *

Конвертация имен файлов в строчные буквы

rename 'y/A-Z/a-z/' *

Конвертация имен файлов в прописные буквы

rename 'y/a-z/A-Z/' *

Показать, что именно будет переименовано, но не переименовывать

Чтобы избежать ошибок при переименовании файлов, особенно при использовании сложных регулярных выражений, можно сначала вывести список того, что будет переименовано, но не запускать само переименование. Для этого служит опция -n.

Например, мы хотим изменить расширение у файлов с .jpeg на .jpg. Используем опцию -n, чтобы просто вывести какие файлы будут переименованы:

rename -n 's/.jpeg$/.jpg/' *

Полное описание команд mv и rename можно получить, выполнив в терминале команды:

man mv
man rename

Массовое переименование с использованием программ

Для массового переименования файлов можно воспользоваться программами:

  • pyRenamer
  • GPRename

Introduction

Linux provides several options for renaming files, including using the GUI and multiple dedicated terminal commands. This makes it relatively easy to rename individual files, but it can be challenging to rename multiple files at once.

In this tutorial, we will go over different commands you can use in the Linux terminal to rename files in Linux.

How to rename files in Linux

Prerequisites

  • A system running a Linux distribution
  • An account with sudo privileges
  • Access to the terminal window/command line
  • Access to a text editor, such as Vim or Nano

Rename Files with the mv Command

The Linux mv (move) command is used to move files and directories from the terminal. It uses the following syntax:

mv [options] [source] [destination]

If you specify a directory as the destination when using the mv command, the source file moves to that directory. If the destination is another file name, the mv command renames the source file to that name instead.

Rename a Single File with the mv Command

Using the mv command with its default syntax allows you to rename a single file:

mv [options] [current file name] [new file name]

For example, if we want to rename example1.txt into example2.txt, we would use:

mv example1.txt example2.txt

Since there is no output if the command is successful, we are using the ls command to check if the name is changed:

ls -l
Renaming a single file using the mv command

Rename Multiple Files with the mv Command

On its own, the mv command renames a single file. However, combining it with other commands allows you to rename multiple files at the same time.

One method is to use the find command to select multiple files with a similar name, then use the mv command to rename them:

find . -depth -name "[current file name element]" -exec sh -c 'f="{}"; mv -- "$f" "${f%[current file name element]}[new file name element]"' ;

Using this syntax, the find command defines an element of the current file name as the search parameter. Next, -exec executes the mv command on any files that match the search, changing their current filenames to the new one.

For instance, if we have example1.txt, example2.txt, and example3.txt and want to change the extension to .pdf:

find . -depth -name "*.txt" -exec sh -c 'f="{}"; mv -- "$f" "${f%.txt}.pdf"' ;
Renaming multiple files using the find and mv commands

Another method is to use the mv command as a part of a <strong>for</strong> loop in a bash script.

Using the same example, start by creating and opening a bash script file using a text editor such as Nano:

sudo nano rename_files.sh

Add the following lines to the script:

#!/bin/bash
for f in *.txt; do
    mv -- "$f" "${f%.txt}.pdf"
done

In the script above:

  • The first line instructs the script to search for all the files in the current directory ending with .txt.
  • The second line uses the mv command on each file found to replace the .txt extension with .pdf.
  • The third line ends the loop segment.

Press Ctrl+X, then type Y and press Enter to save the changes to the script and exit.

Use the sh command to execute the script:

sh rename_files.sh
Renaming multiple files using a bash script

Note: Learn how to compare two files using the diff command.

Rename File with the rename Command

The rename command is used to rename multiple files or directories in Linux. It offers more features than the mv command but can be more challenging to use since it requires basic knowledge of Perl expressions.

How to Install the rename Command

On many Linux distributions, the rename command is not available by default. If your system is missing the rename command, install it with:

  • For Ubuntu and Debian, use sudo apt install rename
  • For CentOS and Fedora, use sudo yum install prename
  • For Arch Linux, use sudo pacman -S rename

rename Command Syntax and Options

There are three types of Perl regular expressions: match, substitute and translate. The rename command uses substitute and translate expressions to change file and directory names.

Substitute expressions replace a part of the filename with a different string. They use the following syntax:

rename [options] 's/[filename element]/[replacement]/' [filename]

With this syntax, the command renames the file by replacing the first occurrence of the filename element with the replacement. In the command above:

  • rename: Invokes the rename command.
  • [options]: Provides an optional argument that changes the way the command executes.
  • s: Indicates a substitute expression.
  • [filename element]: Specifies the part of the filename you want to replace.
  • [replacement]: Specifies a replacement for the part of the current filename.
  • [filename]: Defines the file you want to rename.

A translate expression translates one string of characters into another, character for character. This type of expression uses the following syntax:

rename [options] 'y/[string 1]/[string 2]/' [filename]

An example of a rename command using a translate expression:

rename 'y/abc/xyz/'

In this example, every a character in the filename is replaced by an x, every b by a y, and every c by a z.

The rename command uses the following options:

  • -a: Replaces all the occurrences of the filename element instead of just the first one.
  • -f: Forces an overwrite of existing files.
  • -h: Displays the help text.
  • -i: Displays a prompt before overwriting existing files.
  • -l: Replaces the last occurrence of the filename element instead of the first one.
  • -n: Performs a dry run, making no permanent changes. Best combined with the verbose output (-v).
  • -s: Renames the target instead of the symlink.
  • -v: Shows a verbose version of the output.
  • -V: Displays the command version.

rename Command Examples

1. Change File Extension

Returning to our last example, to change the file extension from .txt to .pdf, use:

rename -v 's/.txt/.pdf/' *.txt
Using the rename command to replace the file extension

2. Replacing a Part of a Filename

Replacing a different part of the filename follows the same syntax. To rename example1.txt, example2.txt, and example3.txt to test1.txt, test2.txt, and text3.txt, use:

rename -v 's/example/test/' *.txt
Renaming multiple files using the rename command

3. Delete a Part of a Filename

The rename option also allows you to delete a part of the filename by omitting the replacement part of the expression. For instance, if we want to shorten example into ex:

rename -v 's/ample//' *.txt
Removing a part of the file name using the rename command

4. Rename Files with Similar Names

Another use for the rename option is to rename files with similar names. For instance, if we want to rename files with example and sample in their name to test:

rename -v 's/(ex|s)ample/test/' *.txt
Renaming multiple files with similar names using the rename command

5. Rename Files Character-by-Character

The rename command also allows you to use translate expressions to rename files on a character-by-character basis. For instance, if you want to rename multiple files named example file by replacing the blank space with an underscore (_):

rename -v 'y/ /_/' *.txt
Removing blank spaces from file names using the rename command

6. Convert Lowercase Characters

To convert lowercase characters in filenames into uppercase characters, use:

rename -v 'y/a-z/A-Z/' *.txt
Converting file names from lowercase to uppercase using the rename command

7. Convert Uppercase Characters

The reverse also works if we switch the order of the uppercase and lowercase characters in the expression:

rename -v 'y/A-Z/a-z/' *.TXT
Converting file names from uppercase to lowercase using the rename command

Note: Be careful when changing the character case, as this also changes the file extension.

Conclusion

After reading this tutorial, you should be able to rename files using the mv and rename commands in Linux.

Learn more about using Linux commands in our Linux Commands Cheat Sheet.

Содержание

  • Способ 1: pyRenamer
  • Способ 2: Терминал
    • Команда mv
    • Команда rename
  • Способ 3: Файловый менеджер
  • Заключение
  • Вопросы и ответы

как переименовать файл в linux

В любой операционной системе, будь то Linux или Windows, может появиться необходимость переименовать файл. И если с данной операцией пользователи Windows справляются без лишних проблем, то на Линуксe они могут столкнуться со сложностями, ввиду незнания системы и обилия множества способов. В этой статье будут перечислены все возможные вариации того, как можно переименовать файл в Linux.

Читайте также:
Как создать или удалить файл в Linux
Как узнать версию дистрибутива Linux

Способ 1: pyRenamer

К сожалению, программное обеспечение pyRenamer не поставляется в стандартном наборе предустановок дистрибутива. Однако, как и все в Linux, его можно скачать и установить из официального репозитория. Команда для загрузки и установки следующая:

sudo apt install pyrenamer

После ее ввода укажите пароль и нажмите Enter. Далее необходимо будет подтвердить выполняемые действия. Для этого введите букву «Д» и нажмите снова Enter. Останется лишь подождать загрузки и установки (не закрывайте «Терминал» до завершения процесса).

После установки программу можно будет запустить, предварительно совершив поиск по системе с ее названием.

Основным отличием pyRenamer от менеджера файлов является то, что приложение способно взаимодействовать со множеством файлов одновременно. Она отлично подойдет в тех случаях, когда нужно поменять название сразу в нескольких документах, убрав какую-то часть или заменив ее на другую.

Давайте рассмотрим работу по переименованию файлов в программе:

  1. Открыв программу, вам необходимо проложить путь к директории, где находятся файлы, которые нужно переименовать. Делается это в левом рабочем окне (1). После определения директории в правом рабочем окне (2) будут показаны все файлы, находящиеся в ней.
  2. рабочие области в программе pyranamer в linux

  3. Далее необходимо перейти во вкладку «Substitutions».
  4. вкладка substitutions в программе pyrenamer в linux

  5. В этой вкладке вам нужно поставить галочку рядом с пунктом «Replace», чтобы поля для ввода стали активными.
  6. поля для замены части имени файла в программе pyrenamer в linux

  7. Теперь можно приступать к переименованию файлов в выбранной директории. Рассмотрим на примере четырех файлов «Безымянный документ» с порядковым числом. Допустим, нам необходимо заменить слова «Безымянный документ» на слово «Файл». Для этого нужно в первое поле ввести заменяемую часть имени файла, в данном случае «Безымянный документ», а во второе фразу, которая будет заменять — «Файл».
  8. заполненные поля для переименовывания файла в программе pyrenamer в linux

  9. Чтобы просмотреть, что получится в итоге, можно нажать кнопку «Preview» (1). Все изменения отобразятся в графе «Renamed file name» в правом рабочем окне.
  10. кнопка preview в программе pyrenamer в linux

  11. Если изменения вас устраивают, вы можете нажать кнопку «Rename», чтобы применить их к выбранным файлам.

После переименования можно спокойно закрывать программу и открывать файловый менеджер, чтобы проверить изменения.

Lumpics.ru

На самом деле с помощью pyRenamer можно выполнить намного больше действий с файлами. Не только заменить одну часть имени на другую, но и, используя шаблоны во вкладке «Patterns», задать переменные, и, управляя ими, видоизменять названия файлов как угодно. Но подробно инструкцию нет смысла расписывать, так как при наведении курсора на активные поля высветится подсказка.

Способ 2: Терминал

К сожалению, не всегда получается переименовать файл с помощью специальных программ с графическим интерфейсом. Порою может возникнуть ошибка или что-то подобное, мешающее выполнению данной задачи. Но в Линуксe есть куда более одного способа выполнения поставленной задачи, поэтому переходим прямиком в «Терминал».

Команда mv

Команда mv в Линуксе отвечает за перемещение файлов из одной директории в другую. Но по своей сути перемещение файла схоже с переименованием. Так, используя эту команду, если переместить файл в ту же папку, в которой он находится, при этом задав новое имя, получится его переименовать.

Теперь давайте подробно разберемся с командой mv.

Синтаксис и опции команды mv

Синтаксис выглядит следующим образом:

mv опция оригинальное_имя_файла имя_файла_после_переименования

Чтобы пользоваться всеми возможностями данной команды, необходимо изучить ее опции:

  • -i — запрашивать разрешении при замене существующих файлов;
  • -f — заменять существующий файл без разрешения;
  • -n — запретить замену существующего файла;
  • -u — разрешить замену файла, если в нем присутствуют изменения;
  • -v — показать все обработанные файлы (список).

После того как мы разобрались со всеми особенностями команды mv, можно приступать непосредственно к самому процессу переименования.

Примеры использования команды mv

Сейчас будет рассмотрена ситуация, когда в папке «Документы» находится файл с именем «Старый документ», наша задача переименовать его в «Новый документ», используя для этого команду mv в «Терминале». Для этого нам необходимо вписать:

mv -v "Старый документ" "Новый документ"

Примечание: чтобы операция прошла успешно, необходимо нужную папку открыть в «Терминале» и только после этого проводить все манипуляции. Открыть папку в «Терминале» можно при помощи команды cd.

Пример:

переименовывание файла с помощью команды mv (1 способ)

Как можно видеть на изображении, нужный нам файл получил новое имя. Обратите внимание, что в «Терминале» указана опция «-v», которая строчкой ниже вывела подробный отчет о выполненной операции.

Также, используя команду mv, можно не только переименовать файл, но и попутно переместить его в другую папку. Как говорилось выше, данная команда именно для этого и нужна. Чтобы это сделать надо, помимо указания имени файла, прописать путь к нему.

Допустим, вы хотите из папки «Документы» переместить файл «Старый документ» в папку «Видео» попутно переименовав его в «Новый документ». Вот как будет выглядеть команда:

mv -v /home/user/Документы/"Старый документ" /home/user/Видео/"Новый документ"

Важно: если имя файла состоит из двух и более слов, его необходимо заключать в кавычки.

Пример:

переименовывание файла с помощью команды mv (2 способ)

Примечание: если к папке, в которую вы собираетесь переместить файл, попутно переименовав его, у вас нет прав доступа, необходимо выполнять команду через суперпользователя, прописав в начале «super su» и введя пароль.

Команда rename

Команда mv хороша, когда необходимо переименовать один файл. И, безусловно, замены ей в этом не найти — она лучшая. Однако, если необходимо переименовать множество файлов или же заменить лишь часть имени, то фаворитом становится команда rename.

Синтаксис и опции команды rename

Как и с прошлой командой, для начала разберемся с синтаксисом rename. Выглядит он следующим образом:

rename опция 's/старое_имя_файла/новое_имя_файла/' имя_файла

Как можно заметить, синтаксис намного сложнее, чем у команды mv, однако он позволяет выполнять больше действий с файлом.

Теперь давайте рассмотрим опции, они следующие:

  • -v — показать обработанные файлы;
  • -n — предварительный просмотр изменений;
  • -f — принудительно переименовать все файлы.

Теперь давайте рассмотрим наглядные примеры данной команды.

Примеры использования команды rename

Допустим, в директории «Документы» у нас есть множество файлов с названием «Старый документ num», где num — это порядковый номер. Наша задача, используя команду rename, во всех этих файлах изменить слово «Старый» на «Новый». Для этого нам необходимо выполнить следующую команду:

rename -v 's/Старый/Новый/' *

где, «*» — все файлы в указанной директории.

Примечание: если вы хотите провести изменение в одном файле, то вместо «*» пропишите его имя. Не забывайте, если имя состоит из двух и более слов, то его необходимо брать в кавычки.

Пример:

переименовывание множества файлов с помощью команды rename в терминале линукс

Примечание: с помощью данной команды можно запросто изменить расширения файлов, указав изначально старое расширения, записав его, например, в виде «.txt», а затем новое, например, «.html».

С помощью команды rename также можно менять регистр текста имени. Например, мы хотим файлы с именем «NEW FILE (num)» переименовать в «new file (num)». Для этого нужно прописать следующую команду:

rename -v 'y/A-Z/a-z/' *

Пример:

изменение регистра в имени файлов с помощью команды rename в терминале линукс

Примечание: если необходимо поменять регистр в имени файлов на русском, то используйте команду «rename -v ‘y/А-Я/а-я/’ *».

Способ 3: Файловый менеджер

К сожалению, в «Терминале» не всякий пользователь сможет разобраться, поэтому будет разумно рассмотреть способ переименования файлов с использованием графического интерфейса.

Взаимодействие с файлами в Linux хорошо осуществлять при помощи менеджера файлов, будь то Nautilus, Dolphin или любой другой (зависит от дистрибутива Linux). Он позволяет визуализировать не только файлы, но и директории, а также каталоги, выстраивая их иерархию в том виде, который более понятен неопытному пользователю. В таких менеджерах легко сможет сориентироваться даже новичок, который только-только установил себе Linux.

Переименовать файл при помощи файлового менеджера просто:

  1. Для начала вам необходимо открыть сам менеджер и перейти в ту директорию, где расположен файл, нуждающийся в переименовании.
  2. переход в нужную директорию в файловом менеджере nautilus в linux

  3. Теперь необходимо навести курсор на него и нажать левую кнопку мыши (ЛКМ), чтобы выделить. После чего клавишу F2 или правую клавишу мыши и выбрать пункт “Переименовать”.
  4. переименование файла в линукс в файловом менеджере linux

  5. Под файлом появится форма для заполнения, а само имя файла станет выделенным. Вам остается лишь ввести необходимое название и нажать клавишу Enter для подтверждения изменений.

Вот так просто и быстро можно переименовать файл в Линуксe. Представленная инструкция работает во всех файловых менеджерах различных дистрибутивов, однако могут быть различия в наименовании каких-то элементов интерфейса или в их отображении, но общий смысл действий остается одинаковым.

Заключение

По итогу можно сказать, что способов переименовать файлы в Linux много. Все они в достаточной мере отличаются друг от друга и имеют важность в различных ситуациях. Например, если вам необходимо переименовывать одиночные файлы, то лучше использовать файловый менеджер системы или же команду mv. А в случае с частичным или множественным переименовыванием отлично подойдет программа pyRenamer или команда rename. Вам осталось лишь одно — определиться, каким способом пользоваться.

В операционной системе Linux разобраться порой не так просто, как в Windows. Да, внешним исполнением и расположением элементов она проще – не зря же ей пользуется большинство разработчиков, но порой одно желание переименовать файл может превратиться в полноценное захватывающее путешествие. Я расскажу о нескольких способах, с помощью которых можно переименовать файлы в операционной системе Linux.

В ОС Linux есть несколько действенных способов переименовать файл – через файловый менеджер, командой в командной строке или же сторонней программой. В Linux есть множество разных версий, я же описываю действия на Ubuntu 19.04. Начну с самого простого метода, а к следующим можно переходить в том случае, если первый не сработал. 

С помощью файлового менеджера

Файловый менеджер операционной системы Linux очень прост в плане графического интерфейса – все элементы четко упорядочены, ничего лишнего. А переименовать через него какой-либо файл можно следующим образом.

  1. Открываю приложение и перехожу к папке, в которой расположен нужный файл.
  2. Навожу курсор на иконку и нажимаю по ней правой кнопкой мыши для вызова контекстного меню. В небольшом списке элементов нахожу пункт «Переименовать» и жму по нему. Или просто использую клавишу F2, но перед этим предварительно кликнув по файлу.

    Как переименовать файл в файловом менеджере Linux

    Самый простой и быстрый способ переименовать что-либо – воспользоваться файловым менеджером

  3. Под иконкой появится поле для заполнения. Ввожу название, которое мне нужно, после чего жму по клавише Enter или зеленой кнопке «Переименовать».

    Строка для переименования файла в Линукс

    Ввожу будущее название файла и кликаю по зеленой кнопке

С помощью терминала

Если переименовать файл вышеуказанным способом не получается (нет доступа или что-то иное), стоит попробовать задействовать Терминал. Это аналог командной строки в ОС Windows, причем и выглядит схоже, только в Linux она используется куда чаще. 

Открыть данную утилиту можно двумя способами – нажать на комбинацию клавиш Ctrl + Alt + T или выбрать соответствующую иконку в списке приложений, в папке «Утилиты».

Как открыть утилиту «Терминал» в Linux

«Терминал» можно найти в списке установленных приложений

Кроме того, чтобы переименовать файлы можно использовать две команды. 

Команда mv

Эта команда вообще отвечает за перемещение файлов в директориях компьютера. Но ее можно использовать так, чтобы процесс перемещения прошел в ту же самую папку, но на пути название файла было изменено. Я не буду отходить от темы и подробно вникать в синтаксис и опции команды. Затрону лишь то, что нужно нам – остальные возможности можно рассмотреть позже.

Чтобы переименование файла прошло успешно, для начала в «Терминале» потребуется открыть папку, в которой располагается файл. Даю запрос, у меня он выглядит следующим образом: 

«cd /home/ayko/Изображения»

У команды mv есть одна опция «-v» – она показывает все файлы в виде списка. А вот чтобы переименовать один из них, стоит ввести следующую команду:

mv -v «Снимок.png» «Image.png»

Да-да, про форматы файлов тоже забывать не стоит.

Переименование файла через «Терминал» и команду mv в Linux

Для начала надо открыть папку, и только потом начать переименование – логично, правда? 🙂

Проверяю, получилось ли, и обнаруживаю переименованный файл в папке.

Файл, переименованный через «Терминал» в Linux

Результат проделанной работы – файл успешно переименован

Так как команда -v отвечает за перемещение, то во время переименования можно воспользоваться ее прямым назначением. Приведу пример – перемещу файл из папки «Изображения» в «Документы», попутно проведу процедуру переименования. И в таком случае запрос будет выглядеть следующим образом: mv -v /home/ayko/Изображения/»Снимок.png» /home/ayko/Документы/»Image.png»

Переименование и перемещение файла в другой директории

И переименовали файл, и переместили его в другую папку

Команда rename

Команда mv подходит только в том случае, если необходимо переименовать только один файл, так еще и попутно переместить его в другую директорию. А если надо переименовать группу файлов или заменить лишь часть имени, рекомендуется воспользоваться именно командой rename. 

Но есть одно НО – она может быть изначально не установлена в системе, поэтому в таком случае потребуется ввести команду «sudo apt install rename». Я так и сделала, после этого последовало скачивание данных из сети, установка, и все это отображалось в окне «Терминала».

Если что-то не работает, для начала надо это что-то установить

Если что-то не работает, для начала надо это что-то установить

Воспользуюсь я той же опцией, что использовала при задаче команды mv. В моем примере в папке Изображения есть 8 файлов, которые мне необходимо переименовать.

Расположение и список файлов, которые надо переименовать в Linux

Вот эти файлы я собираюсь переименовывать

Запускаю утилиту «Терминал» и открываю запрос, ранее указанный мной для открытия папки – «cd /home/ayko/Изображения». 

В этой директории во всех изображениях мне надо поменять слово «Снимок» на «Image». Для этого я выдаю следующий запрос:

 rename -v ‘s/Снимок/Image/’ *

Переименование группы файлов через «Терминал» и команду «rename» в Linux

Открыла папку, ввела команду, а дальше утилита все переименовала так, как нужно

pyRenamer и GPRename

К сожалению, для версии, в которой я работаю, а именно Ubuntu 2019 года, эти программы не оптимизированы. То есть, я не найду репака даже на официальных сайтах, что уже говорить о «Менеджере приложений». Приводить примеры я буду в Ubuntu 16.04 – как понятно из названия, это версия выпуска апреля 2016 года. Вполне допустимо, что в других версиях сборки обе программы будут, но основную информацию я все же укажу.

Открываю менеджер приложений, ввожу запрос «pyRenamer», после чего устанавливаю программу.

Как установить pyRenamer в Ubuntu

Устанавливаю утилиту из «Менеджера приложений»

В итоге в боковой панели у меня появится окошко, и при нажатии на него выходит нужная мне утилита.

Иконка приложения в боковой панели Ubuntu

Вот так выглядит в боковой панели иконка приложения

Слева в окне отображается дерево файловой системы, а в центральной части – файлы, расположенные в выбранной папке. Ниже уже – панели управления, в которой и проводится настройка. Мне понадобится перейти во вкладку «Images», так как я переименовываю именно изображения. Ввожу во вторую строку будущее имя файла, нажимаю на кнопку «Preview». Рядом с прежним названием появится пример нового, и уже в итоге я жму на кнопку «Rename».

Как переименовать файл через приложение pyRenamer в Linux

Перехожу ко вкладке «Images», ввожу будущее название файла и завершаю процедуру

В приложении GPRename интерфейс и действия в целом схожи. Только если в рассмотренной мной утилите есть хотя бы пара элементов на русском, то в данном случае программа полностью на английском языке.

рограмма GPRename в ОС Linux

Вот так выглядит окно программы GPRename

Заключение

Переименование файлов в операционной системе Linux – несложный процесс и много времени отнимать он не должен. По крайней мере, если пользователь не полез в системные директории, чего делать без надобности настоятельно не рекомендую. Если это группа файлов, лучше просто активировать команду rename и воспользоваться ею. В остальном можно действовать файловый менеджер или «Терминал», к сторонним приложениям прибегать приходится в крайнем случае.

Post Views: 1 604

Developed in the early 1990s, Linux has remained a popular operating system for both personal use and commercial servers. Today, there are over 600 Linux distributions (versions) available, though only a handful of them remain in common use. Based on Unix, the Linux system is prized for its portability, reliability, and stability. There are many individuals (primarily industry professionals) who prefer using Linux over any other operating system.

That said, Linux does require some advanced knowledge to use. While today most Linux distributions have a GUI (graphical user interface), many don’t. Working with Linux requires prior knowledge because most commands are given through a command-line text. 

If you’ve worked in DOS or have programmed in C, you will know how to use a command line. But with Linux, it’s all about knowing individual commands — including the commands to rename and move files.

Today, we’re going to take a look at how to rename a file in Linux. We’ll look at the rename tools that Linux offers, renaming a single file, how to rename files and directories, and renaming multiple files through batch rename.

How to rename a single file in Linux

If we need to rename a single file in Linux, we have two options: we can create a copy of the file with a new name (and delete the old one) or we can rename the file by moving it (with the MV command).

Bash, Terminal, Linux, Unix, Computer, Prompt, Ubuntu

Renaming a file by copying and deleting it

Linux users copy a file by using the “cp” command. When you copy a file, you give the source files and rename the files. 

$ cp old_file new_file

As an example, if we were to rename “august.png” to “september.png”:

$ cp august.png september.png

This will create a copy of the file with a new name. But now you’ll have two copies. You’ll resolve this by deleting the old file. You delete with “rm.”

$ rm august.png

You may be wondering why this is so cumbersome compared to Windows, where you’d just rename a file. Linux has a lot of power, but it manages that power by putting it in the user’s hands. Linux users will perform more operations incrementally, but they have complete control over how those operations are performed.

This gives way to another issue: We could have named that second file september.jpg or september.doc. And then the file would no longer work! Linux provides a lot of power and a lot of freedom. 

Renaming a file by moving it

You may be relieved to know that there is an easier method. But it’s a counterintuitive one. You can rename a file by “moving it” to a new file name. 

$ mv august.png september.png

This actually does what you would think of as a “rename” command and in a single step. But it should be noted that it’s also the general “move” command. So, you are moving the file at the same time. If you move it to a different directory, it will be moved as well as renamed.

As with the cp command, you have to be aware of file extensions. For example, say we introduced a typo and typed:

$ mv august.png september.pg

That action would break our file.

File extensions and renaming

For the most part, Windows protects you from changing the extension of a file. When you click a file in Windows to rename it, it only highlights the actual name, not the extension. You need to do a little work to change the extension of a file.

Linux doesn’t protect you. The extension is part of the file name and can be changed at any time. For that reason, you should be very aware of file extensions. .JPEG is not necessarily the same as .JPG, even if they both denote “JPG” files.

If a file is no longer working after you’ve moved, renamed, or copied it, it’s very likely that it’s because of an error with the file extension.

How to rename multiple files in Linux

What if you wanted to rename multiple files in Linux? This is where we start to see the advantages of using a command-line system.

Let’s say we did make a mistake. We changed everything to JPGs, but instead, they need to be PNGs. We can do this like so:

$ mv *.JPG *.PNG

What this does is it uses a wildcard operator (*) to select any file that ends with JPG and changes that to a PNG. We had better know what we’re doing, though, because if there were any actual JPGs, they’re broken now.

Wildcards are one of the simplest forms of regular expressions. If we had wanted to rename the files in Windows, we would have had to click on them one by one. To rename the files in Linux, we can just use an expression to highlight them all. For that reason, power users in Linux can perform operations very quickly.

Renaming a directory in Linux

One of the quirks of Linux and Unix is that not much changes whether you’re using files or directories. A directory is more or less a blank file that contains other files. If we had a directory called “2021” and we wanted to rename it to “2022,” we would do this:

$ mv 2020 2021

It’s as simple as that. Existing directories are treated like existing files that do not have a file extension by the MV command.

Rename a file while moving it in Linux

Earlier, we noted that we are using the MV command to rename files and that we could also move the file to a different directory if we so chose.

Now let’s say we want to rename august.png to september.png and also move it into the 2022 directory.

$ mv august.png 2022/september.png

As again, both the directory and the file name (and its extension) are just pointers to where data is. This remains consistent throughout Linux.

Using flags (options) for your operations

Linux makes it possible to use something called “flags,” or options, with its commands. This controls how the command is performed. 

Two commands you may want to know are -i and -v. 

  • -i. This is the interactive option, and it makes it possible for you to “interrupt” the sequence to confirm actions.
  • -v. This is the verbose option, and it makes it possible for you to see everything that happens with the command as it happens.

Both of these option flags can be helpful when using the MV command in Linux.

Using the interactive renaming function in Linux

We’ve noted a couple of times that it’s possible to make large, potentially irrevocable mistakes in Linux. But there’s also a way to get around this. If you add the “-i” option with the MV command, you’ll be prompted before anything is done.

Let’s say we type:

$ mv -i august.jpg september.png

But the problem is, we’ve already created september.png. It already exists! The “interactive” function will let us know we’re about to overwrite an existing file. We can then type “Y” or “N” to either confirm the action or deny it.

If we knew that it was going to be overwritten anyway, we may be fine with it. But otherwise, we might want to know that there’s another file in danger.

Using the verbose option to track what’s happening

In addition to interactively interrupting your commands, you may also want to just know what operations are occurring. With Linux, you can always use the -v or -verbose option. 

$ mv -v august.png september.png

This will tell you exactly what it has done to the source files and the new files. And you can also:

$ mv -v -i august.png september.png

This will tell you about all the operations and also allow you to interrupt them. Whenever you’re using a new command, consider using -v for verbose. The -v flag should work for nearly any command.

Mass moving and renaming files in Linux

Sometimes you need to move and rename a large number of files in Linux. Consider that you might have an entire directory of files that have to be either changed or moved. This could happen if you installed something into the wrong directory.

For this, Linux has another command altogether: MMV. MMV can be used to move, link, and append files. It’s a non-destructive method of doing so; it will try to identify any potential errors or collisions. 

This is particularly valuable because you don’t want to accidentally ruin a lot of files at once.

$ mmv *.png *.jpg

The above would be another way of changing all PNGs to JPGs, in the event that for instance, a large number of files had the wrong extension. This could happen if you had copied the original file over incorrectly. 

But you’ll notice that we could have done this with the MV command, too. The only difference is that MMV is a more careful way of doing this.

If you wanted to mass copy a lot of files, you could even copy over the entire directory:

$ cp 2021 2022

And that would copy 2021 to 2022 while still leaving 2021. Copying is less dangerous than moving because copying doesn’t inherently delete the original files. Moving does. This is one reason why when renaming a file, we looked at the CP function before the MV function — there is less that can go wrong with the operation because it’s not inherently destructive.

Installing rename in Linux

At this point, you might be thinking “Why can’t I just rename?” Actually, you can. There is a “rename” command in Linux, but you would need to install it.

On your administrative account for Ubuntu or Debian:

$ sudo apt install rename

For Fedora or CentOS:

$ sudo yum install rename

(If you have a different distribution, look up your installation syntax.)

This will install the “rename” package. After you install rename, you’ll be able to use complex regular expressions to rename your files.

Complex regular expressions are a topic in and of themselves. We saw that * can be used as a wildcard. But with regular expressions, we can also select things like “any file that starts with letters but ends with numbers” or “any file that has 59 in it.” Regular expressions can be used to identify email addresses or other patterns — they are very powerful but take some practice.

The rename command will not operate much differently from MV, MVV, or even CP. The difference is that you’ll have a dedicated function called “rename” that you can use. There are many function packages for different Linux distributions that you can install. If you’re trying to complete an operation and you can’t find it in vanilla Linux, consider looking for a package.

Getting started with Linux

Linux has an internal manual ($ man) that can be used to look up commands. To look up more information about the move command in Linux, you can also always type in:

$ man move

Or look up the $ man entries for anything else.

Linux requires a lot of memorization. For the most part, you just need to know what’s possible in the system. Once you know what’s possible, you should be able to reference the manual to figure out how.

But you should always remember that Linux does what it’s told — there are fewer safeguards with the Linux system. While Windows might alert you that you’re overwriting a file, Linux isn’t likely to alert you unless you specifically ask that it does. If you’re just learning Linux now, a great way to do so is through a Linux bootcamp or workshop. There are so many distributions of Linux, you’ll also want to decide which distribution you want to use first. Check out our guide to finding the best Linux distro!

Developed in the early 1990s, Linux has remained a popular operating system for both personal use and commercial servers. Today, there are over 600 Linux distributions (versions) available, though only a handful of them remain in common use. Based on Unix, the Linux system is prized for its portability, reliability, and stability. There are many individuals (primarily industry professionals) who prefer using Linux over any other operating system.

That said, Linux does require some advanced knowledge to use. While today most Linux distributions have a GUI (graphical user interface), many don’t. Working with Linux requires prior knowledge because most commands are given through a command-line text. 

If you’ve worked in DOS or have programmed in C, you will know how to use a command line. But with Linux, it’s all about knowing individual commands — including the commands to rename and move files.

Today, we’re going to take a look at how to rename a file in Linux. We’ll look at the rename tools that Linux offers, renaming a single file, how to rename files and directories, and renaming multiple files through batch rename.

How to rename a single file in Linux

If we need to rename a single file in Linux, we have two options: we can create a copy of the file with a new name (and delete the old one) or we can rename the file by moving it (with the MV command).

Bash, Terminal, Linux, Unix, Computer, Prompt, Ubuntu

Renaming a file by copying and deleting it

Linux users copy a file by using the “cp” command. When you copy a file, you give the source files and rename the files. 

$ cp old_file new_file

As an example, if we were to rename “august.png” to “september.png”:

$ cp august.png september.png

This will create a copy of the file with a new name. But now you’ll have two copies. You’ll resolve this by deleting the old file. You delete with “rm.”

$ rm august.png

You may be wondering why this is so cumbersome compared to Windows, where you’d just rename a file. Linux has a lot of power, but it manages that power by putting it in the user’s hands. Linux users will perform more operations incrementally, but they have complete control over how those operations are performed.

This gives way to another issue: We could have named that second file september.jpg or september.doc. And then the file would no longer work! Linux provides a lot of power and a lot of freedom. 

Renaming a file by moving it

You may be relieved to know that there is an easier method. But it’s a counterintuitive one. You can rename a file by “moving it” to a new file name. 

$ mv august.png september.png

This actually does what you would think of as a “rename” command and in a single step. But it should be noted that it’s also the general “move” command. So, you are moving the file at the same time. If you move it to a different directory, it will be moved as well as renamed.

As with the cp command, you have to be aware of file extensions. For example, say we introduced a typo and typed:

$ mv august.png september.pg

That action would break our file.

File extensions and renaming

For the most part, Windows protects you from changing the extension of a file. When you click a file in Windows to rename it, it only highlights the actual name, not the extension. You need to do a little work to change the extension of a file.

Linux doesn’t protect you. The extension is part of the file name and can be changed at any time. For that reason, you should be very aware of file extensions. .JPEG is not necessarily the same as .JPG, even if they both denote “JPG” files.

If a file is no longer working after you’ve moved, renamed, or copied it, it’s very likely that it’s because of an error with the file extension.

How to rename multiple files in Linux

What if you wanted to rename multiple files in Linux? This is where we start to see the advantages of using a command-line system.

Let’s say we did make a mistake. We changed everything to JPGs, but instead, they need to be PNGs. We can do this like so:

$ mv *.JPG *.PNG

What this does is it uses a wildcard operator (*) to select any file that ends with JPG and changes that to a PNG. We had better know what we’re doing, though, because if there were any actual JPGs, they’re broken now.

Wildcards are one of the simplest forms of regular expressions. If we had wanted to rename the files in Windows, we would have had to click on them one by one. To rename the files in Linux, we can just use an expression to highlight them all. For that reason, power users in Linux can perform operations very quickly.

Renaming a directory in Linux

One of the quirks of Linux and Unix is that not much changes whether you’re using files or directories. A directory is more or less a blank file that contains other files. If we had a directory called “2021” and we wanted to rename it to “2022,” we would do this:

$ mv 2020 2021

It’s as simple as that. Existing directories are treated like existing files that do not have a file extension by the MV command.

Rename a file while moving it in Linux

Earlier, we noted that we are using the MV command to rename files and that we could also move the file to a different directory if we so chose.

Now let’s say we want to rename august.png to september.png and also move it into the 2022 directory.

$ mv august.png 2022/september.png

As again, both the directory and the file name (and its extension) are just pointers to where data is. This remains consistent throughout Linux.

Using flags (options) for your operations

Linux makes it possible to use something called “flags,” or options, with its commands. This controls how the command is performed. 

Two commands you may want to know are -i and -v. 

  • -i. This is the interactive option, and it makes it possible for you to “interrupt” the sequence to confirm actions.
  • -v. This is the verbose option, and it makes it possible for you to see everything that happens with the command as it happens.

Both of these option flags can be helpful when using the MV command in Linux.

Using the interactive renaming function in Linux

We’ve noted a couple of times that it’s possible to make large, potentially irrevocable mistakes in Linux. But there’s also a way to get around this. If you add the “-i” option with the MV command, you’ll be prompted before anything is done.

Let’s say we type:

$ mv -i august.jpg september.png

But the problem is, we’ve already created september.png. It already exists! The “interactive” function will let us know we’re about to overwrite an existing file. We can then type “Y” or “N” to either confirm the action or deny it.

If we knew that it was going to be overwritten anyway, we may be fine with it. But otherwise, we might want to know that there’s another file in danger.

Using the verbose option to track what’s happening

In addition to interactively interrupting your commands, you may also want to just know what operations are occurring. With Linux, you can always use the -v or -verbose option. 

$ mv -v august.png september.png

This will tell you exactly what it has done to the source files and the new files. And you can also:

$ mv -v -i august.png september.png

This will tell you about all the operations and also allow you to interrupt them. Whenever you’re using a new command, consider using -v for verbose. The -v flag should work for nearly any command.

Mass moving and renaming files in Linux

Sometimes you need to move and rename a large number of files in Linux. Consider that you might have an entire directory of files that have to be either changed or moved. This could happen if you installed something into the wrong directory.

For this, Linux has another command altogether: MMV. MMV can be used to move, link, and append files. It’s a non-destructive method of doing so; it will try to identify any potential errors or collisions. 

This is particularly valuable because you don’t want to accidentally ruin a lot of files at once.

$ mmv *.png *.jpg

The above would be another way of changing all PNGs to JPGs, in the event that for instance, a large number of files had the wrong extension. This could happen if you had copied the original file over incorrectly. 

But you’ll notice that we could have done this with the MV command, too. The only difference is that MMV is a more careful way of doing this.

If you wanted to mass copy a lot of files, you could even copy over the entire directory:

$ cp 2021 2022

And that would copy 2021 to 2022 while still leaving 2021. Copying is less dangerous than moving because copying doesn’t inherently delete the original files. Moving does. This is one reason why when renaming a file, we looked at the CP function before the MV function — there is less that can go wrong with the operation because it’s not inherently destructive.

Installing rename in Linux

At this point, you might be thinking “Why can’t I just rename?” Actually, you can. There is a “rename” command in Linux, but you would need to install it.

On your administrative account for Ubuntu or Debian:

$ sudo apt install rename

For Fedora or CentOS:

$ sudo yum install rename

(If you have a different distribution, look up your installation syntax.)

This will install the “rename” package. After you install rename, you’ll be able to use complex regular expressions to rename your files.

Complex regular expressions are a topic in and of themselves. We saw that * can be used as a wildcard. But with regular expressions, we can also select things like “any file that starts with letters but ends with numbers” or “any file that has 59 in it.” Regular expressions can be used to identify email addresses or other patterns — they are very powerful but take some practice.

The rename command will not operate much differently from MV, MVV, or even CP. The difference is that you’ll have a dedicated function called “rename” that you can use. There are many function packages for different Linux distributions that you can install. If you’re trying to complete an operation and you can’t find it in vanilla Linux, consider looking for a package.

Getting started with Linux

Linux has an internal manual ($ man) that can be used to look up commands. To look up more information about the move command in Linux, you can also always type in:

$ man move

Or look up the $ man entries for anything else.

Linux requires a lot of memorization. For the most part, you just need to know what’s possible in the system. Once you know what’s possible, you should be able to reference the manual to figure out how.

But you should always remember that Linux does what it’s told — there are fewer safeguards with the Linux system. While Windows might alert you that you’re overwriting a file, Linux isn’t likely to alert you unless you specifically ask that it does. If you’re just learning Linux now, a great way to do so is through a Linux bootcamp or workshop. There are so many distributions of Linux, you’ll also want to decide which distribution you want to use first. Check out our guide to finding the best Linux distro!

В этом уроке мы покажем вам , как использовать mv и rename команды для переименования файлов и каталогов.

Переименование файлов и каталогов является одной из самых основных задач, которые вам часто приходится выполнять в системе Linux. Вы можете переименовывать файлы, используя файловый менеджер с графическим интерфейсом или через терминал командной строки.

Переименовать один файл легко, но переименование нескольких файлов одновременно может быть проблемой, особенно для пользователей, которые являются новичками в Linux.

Переименование файлов с помощью mv команды

mv Команда ( не хватает хода) используется для переименования или перемещения файлов из одного места в другое. Синтаксис mv команды следующий:

mv [OPTIONS] source destination
 

source Может быть один или несколько файлов или каталогов и destination может быть один файл или каталог.

  • Если вы указываете несколько файлов как source , destination должен быть каталог. В этом случае source файлы перемещаются в целевой каталог.
  • Если вы указываете один файл как source , а destination целью является существующий каталог, то файл перемещается в указанный каталог.
  • Чтобы переименовать файл, вам нужно указать один файл как source и один файл как destination цель.

Например, чтобы переименовать файл так, file1.txt как file2.txt вы запустите:

mv file1.txt file2.txt 

Переименование нескольких файлов с помощью mv команды

Команда mv может переименовывать только один файл за раз, но ее можно использовать вместе с другими командами, такими как find или внутри bash for или while циклов, для переименования нескольких файлов.

В следующем примере показано, как использовать цикл Bash for для переименования всех .html файлов в текущем каталоге, изменив .html расширение на .php .

for f in *.html; do 
    mv -- "$f" "${f%.html}.php"
done
 

Давайте проанализируем код построчно:

  • Первая строка создает for цикл и перебирает список всех файлов, окантованных .html .
  • Вторая строка применяется к каждому элементу списка и перемещает файл в новый, заменяя его .html на .php . Часть ${file%.html} использует расширение параметра оболочки, чтобы удалить .html часть из имени файла.
  • done указывает на конец сегмента цикла.

Вот пример использования mv в сочетании с find для достижения того же, что и выше:

find . -depth -name "*.html" -exec sh -c 'f="{}"; mv -- "$f" "${f%.html}.php"' ;
 

Команда find передает все файлы, оканчивающиеся .html в текущем каталоге, по mv одному, используя -exec опцию. Строка {} — это имя файла, обрабатываемого в данный момент.

Как видно из приведенных выше примеров, переименование нескольких файлов с помощью mv команды — непростая задача, поскольку требует хорошего знания сценариев Bash.

Переименование файлов с помощью rename команды

Команда rename используется для переименования нескольких файлов. Эта команда более сложна, чем mv она требует базовых знаний о регулярных выражениях.

Существует две версии rename команды с разным синтаксисом. В этом уроке мы будем использовать версию команды Perl rename . Если у вас не установлена ​​эта версия в вашей системе, вы можете легко установить ее, используя менеджер пакетов вашего дистрибутива.

  • Установить rename на Ubuntu и Debian

    sudo apt install rename 
  • Установить rename на CentOS и Fedora

    sudo yum install prename 
  • Установить rename на Arch Linux

    yay perl-rename ## or yaourt -S perl-rename 


Синтаксис rename команды следующий:

rename [OPTIONS] perlexpr files
 

Команда rename переименует в files соответствии с указанным perlexpr регулярным выражением. Вы можете прочитать больше о регулярных выражениях perl здесь .


Следующий пример изменит все файлы с расширением .html на .php :

rename 's/.html/.php/' *.html 


Вы можете использовать -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)
 

По умолчанию rename команда не перезаписывает существующие файлы. Передайте -f опцию, чтобы разрешить перезаписывать существующие файлы:

rename -f 's/.html/.php/' *.html 

Ниже приведены еще несколько распространенных примеров использования rename команды:

  • Заменить пробелы в именах файлов подчеркиванием

    rename 'y/ /_/' * 
  • Преобразование имен файлов в нижний регистр

    rename 'y/A-Z/a-z/' * 
  • Преобразовать имена файлов в верхний регистр

    rename 'y/a-z/A-Z/' * 

Вывод

Мы показали вам , как использовать mv и rename команды для переименования файлов.

Конечно, есть другие команды для переименования файлов в Linux, такие как mmv . Новые пользователи Linux, которых пугает командная строка, могут использовать инструменты пакетного переименования GUI, такие как Métamorphose .

Понравилась статья? Поделить с друзьями:
  • Как изменить имя файла python
  • Как изменить интерфейс outlook 2013
  • Как изменить имя файла java
  • Как изменить интерфейс opera gx
  • Как изменить имя файла exe