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 в myfile2.txt:
Переименовать директорию
Переименуем директорию mydir1 в mydir2. Выполняется точно также, как и переименование файлов.
Переместить файл
Переместим файл myfile1.txt в директорию mydir/ (директория должна существовать). Для этого выполняем команду без каких-либо аргументов:
если не поставить слеш в конце, mv решит что мы хотим переименовать файл myfile1.txt в файл mydir, а так как с таким именем уже существует директория, то получим ошибку
Создавать резервные копии существующих файлов
Предположим, что нам нужно переименовать файл myfile1.txt в myfile2.txt, но файл myfile2.txt уже существует. Можно воспользоваться опцией -b, чтобы создать резервную копию существующего файла:
В результате сначала существующий файл myfile2.txt будет переименован в myfile2.txt~, то есть будет создана его резервная копия, и только потом файл myfile1.txt будет переименован в myfile2.txt.
Вместо значка тильда ~ можно добавлять к именам резервных копий произвольный суффикс. Например, добавим суффикс .bak. Для этого воспользуемся опцией -S
Переместить несколько файлов
Рассмотрим примеры использования команды mv для перемещения нескольких файлов в другую директорию.
Переместим сразу три файла в директорию mydir/
Переместим все файлы из текущей директории в директорию mydir/
Переместим все файлы с расширением .jpg в директорию mydir/
Переместить только те файлы, которых нет в директории назначения
Предположим, что нам нужно переместить все файлы из одной директории в другую, но если в директории назначения уже есть файлы с такими же именами, то их не перемещать. Для этого используем опцию -n
Переместить только те файлы, которые новее
Предположим, что нам нужно переместить все файлы из одной директории в другую, но если в другой директории уже есть файлы с такими же именами, то заменять существующие файлы только если исходный файл новее (по дате). Для этого используем опцию -u
Если в имени файла есть пробелы
Если в имени файла есть пробелы, то имя файла нужно заключить в кавычки или перед каждым пробелом добавлять символ \
Предположим, что нам нужно переименовать файл в имени которого содержится пробел — My file1.txt. Для этого можно заключить имя файла в кавычки (для файла назначения аналогично).
Или использовать символ косой черты перед пробелом.
Last updated