Команда mv в Linux с примерами
mv означает движение . mv используется для перемещения одного или нескольких файлов или каталогов из одного места в другое в файловой системе, такой как UNIX. Он выполняет две различные функции:
(i) Он переименовывает файл или папку.
(ii) Перемещает группу файлов в другой каталог.
Во время переименования дополнительное пространство на диске не используется. Эта команда обычно работает в автоматическом режиме, что означает отсутствие запроса на подтверждение.
Синтаксис:
mv [Option] источник назначения
Рассмотрим 4 файла с именами a.txt, b.txt и так далее до d.txt .
Чтобы переименовать файл a.txt в geek.txt (не существует) :
$ ls a.txt b.txt c.txt d.txt $ mv a.txt geek.txt $ ls b.txt c.txt d.txt geek.txt
Если конечный файл не существует , он будет создан. В приведенной выше команде mv просто заменяет имя исходного файла в каталоге на имя файла назначения (новое имя). Если целевой файл существует , он будет перезаписан, а исходный файл будет удален. По умолчанию mv не запрашивает перезапись существующего файла, поэтому будьте осторожны !!
Попробуем разобраться на примере, перемещая geeks.txt в b.txt (exist) :
$ ls b.txt c.txt d.txt geek.txt $ cat geek.txt India $ cat b.txt geeksforgeeks $ mv geek.txt b.txt $ ls b.txt c.txt d.txt $ cat b.txt India
Параметры:
1. -i (Интерактивный): как и в cp, опция -i заставляет команду запрашивать у пользователя подтверждение перед перемещением файла, который перезаписывает существующий файл, вы должны нажать y для подтверждения перемещения, любая другая клавиша оставляет файл как есть. Эта опция не работает, если файл не существует, просто переименуйте его или переместите в новое место.
$ ls b.txt c.txt d.txt geek.txt $ cat geek.txt Индия $ cat b.txt выродки $ mv -i geek.txt b.txt mv: перезаписать b.txt? у $ ls b.txt c.txt d.txt $ cat b.txt Индия
2. -f (Force): mv запрашивает подтверждение перезаписи файла назначения, если файл защищен от записи. Параметр -f отменяет эту незначительную защиту и принудительно перезаписывает целевой файл и удаляет исходный файл.
$ ls b.txt c.txt d.txt geek.txt $ cat b.txt выродки $ ls -l b.txt -r - r - r - + 1 пользователь Пользователь 13 янв 9 13:37 b.txt $ mv geek.txt b.txt mv: заменить 'b.txt', переопределив режим 0444 (r - r - r--)? п $ ls b.txt c.txt d.txt geek.txt $ mv -f geek.txt b.txt $ ls b.txt c.txt d.txt $ cat b.txt Индия
3. -n (no-clobber): с параметром -n mv предотвращает перезапись существующего файла.
В следующем примере ничего не происходит, поскольку файл будет перезаписан.
$ ls b.txt c.txt d.txt geek.txt $ cat b.txt выродки $ mv -n geek.txt b.txt $ ls b.txt c.txt d.txt geek.txt $ cat b.txt выродки
4. -b (резервное копирование): с этим параметром легче создать резервную копию существующего файла, который будет перезаписан в результате команды mv . Это создаст файл резервной копии с добавленным к нему символом тильды (~).
$ ls b.txt c.txt d.txt geek.txt $ mv -b geek.txt b.txt $ ls b.txt b.txt ~ c.txt d.txt
5. –version: этот параметр используется для отображения версии mv, которая в настоящее время запущена в вашей системе.
$ mv --version mv (GNU coreutils) 8.26 Упаковано Cygwin (8.26-2) Авторское право (C) 2016 Free Software Foundation, Inc. Лицензия GPLv3 +: GNU GPL версии 3 или новее. Это бесплатное программное обеспечение: вы можете изменять и распространять его. НИКАКИХ ГАРАНТИЙ в той степени, в которой это разрешено законом. Написано Майком Паркером, Дэвидом Маккензи и Джимом Майерингом.