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

12 set 2022 2 min di lettura
Как перемещать файлы и каталоги с помощью команды MV в Linux
Indice dei contenuti

Введение

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

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

Как использовать команду mv

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

mv [OPTIONS] SOURCE DESTINATION

Параметр SOURCE может быть одним или несколькими файлами или каталогами, а DESTINATION может быть одним файлом или каталогом.

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

Чтобы переместить файл или каталог, у вас должны быть права на запись как в SOURCE, так и в DESTINATION. В противном случае вы получите ошибку отказа в доступе.

Например, чтобы переместить file1 из текущего рабочего каталога в каталог /tmp, выполните:

mv file1 /tmp

Чтобы переименовать файл, вам нужно указать имя файла назначения:

mv file1 file2

Синтаксис перемещения каталогов такой же, как и при перемещении файлов. В следующем примере, если каталог dir2 существует, команда переместит dir1 внутрь dir2. Если dir2 не существует, dir1 будет переименован в dir2:

mv dir1 dir2

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

Чтобы переместить несколько файлов и каталогов, укажите файлы, которые вы хотите переместить, в качестве источника. Например, чтобы переместить файлы file1 и file2 в каталог dir1, введите:

mv file1 file2 dir1

Команда mv также позволяет использовать сопоставление типов файлов. Например, чтобы переместить все pdf -файлы из текущего каталога в каталог ~/Documents, используйте:

mv *.pdf ~/Documents

Опции команды mv

Команда mv принимает несколько параметров, влияющих на поведение команды по умолчанию.

В некоторых дистрибутивах Linux mv может быть псевдонимом команды mv с настраиваемым набором параметров. Например, в CentOS mv — это псевдоним mv -i. Узнать, является ли mv псевдонимом, можно с помощью команды type:

type mv

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

mv is aliased to `mv -i'

Если даны конфликтующие варианты, последний имеет приоритет.

Спросите перед перезаписью

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

mv -i file1 /tmp
mv: overwrite '/tmp/file1'?

Чтобы переопределить тип файла, введите y или Y

Принудительно перезаписать

Если вы попытаетесь перезаписать файл, доступный только для чтения, команда mv спросит, хотите ли вы перезаписать файл:

mv -i file1 /tmp
mv: replace '/tmp/file1', overriding mode 0400 (r--------)?

Чтобы не запрашивать подтверждение, используйте параметры -f:

mv -f file1 /tmp

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

Не перезаписывать существующие файлы

Параметр -n позволяет команде mv никогда не перезаписывать существующие файлы:

mv -f file1 /tmp

Если file1 существует, приведенная выше команда ничего не сделает. В противном случае он переместит файл в каталог /tmp.

Резервное копирование файлов

Если целевой файл существует, вы можете создать его резервную копию, используя параметр -b:

mv -b file1 /tmp

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

Используйте команду ls, чтобы убедиться, что резервная копия создана:

ls /tmp/file1*
/tmp/file1 /tmp/file1~

Подробный вывод

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

mv -i file1 /tmp
renamed 'file1' -> '/tmp/file1'

Вывод

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

Для получения дополнительной информации о команде mv запустите эту команду из терминала:

man mv
Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.