Как перемещать файлы и каталоги в Linux (команда mv)

Перемещение файлов и каталогов в Linux — команда mv

Перемещение файлов и каталогов — одна из самых простых задач, которую часто приходится выполнять в системе 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 -n file1 /tmp

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

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

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

 mv -b file1 /tmp

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

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

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

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

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

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

Заключение

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

Для получения дополнительной информации о команде mv проверьте страницу руководства или введите man mv в терминале.

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

Если у вас есть вопросы или пожелания, не стесняйтесь оставлять комментарии.

терминал МВ

Связанные руководства

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *