Команда MV в Linux. Описание и примеры
Написать статью
Войдите, чтобы писать статьи

Команда mv

2

Команда mv Linux

Описание команды mv

mv
Переместить (или переименовать) файлы или директории.
Команда mv происходит от слова move.

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

Синтаксис

mv опции исходные_файлы куда

исходные_файлы — это то, что мы будем перемещать или переименовывать. То есть это либо один файл, либо несколько файлов, либо директория, либо несколько директорий.

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

Команда mv может:

  • Переместить один или несколько файлов в другую директорию.
  • Переместить одну или несколько директорий в другую директорию.
  • Переименовать файл.
  • Переименовать директорию.

Опции

-b или --backup или --backup=МЕТОД
Создать резервную копию существующих файлов, которые будут перезаписаны или удалены.
Имя для резервной копии может создаваться по определенным правилам. Для этого используется опция --backup=МЕТОД В качестве значения МЕТОД можно указать:

  • none или off — не делать резервных копий, даже если включена опция --backup
  • numbered или t — имя резервной копии получит числовой индекс (пример: myfile.txt~2~).
  • existing или nil — если в директории уже есть резервные копии с числовыми индексами, то использовать числовые индексы для новых резервных копий, во всех остальных случаях использовать метод simple.
  • simple или never — делать обычные резервные копии (пример: myfile.txt~).
-f или --force
При перезаписи существующих файлов не спрашивать разрешения пользователя.
-i или --interactive
При перезаписи существующих файлов спрашивать разрешение пользователя на подтверждение операции.
-n или --no-clobber
Не перезаписывать существующие файлы.
--strip-trailing-slashes
Удалить завершающий символ слеш / (если он там есть) из имени файла-источника.
-S СУФФИКС или --suffix=СУФФИКС
Изменить символ суффикса, который добавляется к именам резервных копий (при использовании опции --backup). По умолчанию СУФФИКС равен значку тильды ~
-t ДИРЕКТОРИЯ или --target-directory=ДИРЕКТОРИЯ
Переместить все исходные файлы в директорию, которая указана в аргументе опции.
-u или --update
Перемещать только если исходный файл новее, чем файл назначения или если файл-назначения отсутствует.
-v или --verbose
Выводить информацию о каждом файле, который обрабатывает команда mv.
-Z или --context
Установить контекст (метки) SELinux для файлов назначения в значение по умолчанию.
--help
Показать справку по команде mv.
--version
Показать версию утилиты mv.

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

Рассмотрим несколько примеров использования команды mv в Linux.

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

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

Переместить файл

Переместим файл myfile1.txt в директорию mydir/ (директория должна существовать). Для этого выполняем команду без каких-либо аргументов:

mv myfile1.txt mydir/

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

Переименуем файл myfile1.txt в myfile2.txt:

mv myfile1.txt myfile2.txt

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

Переименуем директорию mydir1 в mydir2. Выполняется точно также, как и переименование файлов.

mv mydir1 mydir2

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

Предположим, что нам нужно переименовать файл myfile1.txt в myfile2.txt, но файл myfile2.txt уже существует. Можно воспользоваться опцией -b, чтобы создать резервную копию существующего файла:

mv -b myfile1.txt myfile2.txt

В результате сначала существующий файл myfile2.txt будет переименован в myfile2.txt~, то есть будет создана его резервная копия, и только потом файл myfile1.txt будет переименован в myfile2.txt.

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

mv -b -S ".bak" myfile1.txt myfile2.txt

Переместить несколько файлов

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

Переместим сразу три файла в директорию mydir/

mv myfile1 myfile2 myfile3 mydir/

Переместим все файлы из текущей директории в директорию mydir/

mv * mydir/

Переместим все файлы с расширением .jpg в директорию mydir/

mv *.jpg mydir

Переместить только те файлы, которых нет в директории назначения

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

mv -n mydir1/* mydir2/

Переместить только те файлы, которые новее

Предположим, что нам нужно переместить все файлы из одной директории в другую, но если в другой директории уже есть файлы с такими же именами, то заменять существующие файлы только если исходный файл новее (по дате). Для этого используем опцию -u

mv -u mydir1/* mydir2/

Если в имени файла есть пробелы

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

Предположим, что нам нужно переименовать файл в имени которого содержится пробел — My file1.txt. Для этого можно заключить имя файла в кавычки (для файла назначения аналогично).

mv "My file1.txt" "My file2.txt"

Или использовать символ косой черты перед пробелом.

mv My\ file1.txt My\ file2.txt
Лайков: +2
войдите, чтобы ставить лайки
2
  • Опубликовано: 12.04.2019

Комментарии

Алексей
03.11.2019
04:50
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
+1
войдите, чтобы ставить лайки
СПАСИБО!!!!
Konstantin
23.11.2021
23:21
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
0
войдите, чтобы ставить лайки
А где перемещение папок?

Написать комментарий

Ваше имя:
Текст комментария:
  • Уважать других.
  • Не ругаться.
  • Без оскорблений.
  • Без грубости.
  • Не переходить на личности.
  • Писать на русском языке.
  • Без политики.
  • Без флуда.
Правила