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