Гид по технологиям

Команда mv в Linux — как быстро перемещать файлы в терминале

4 min read Linux Обновлено 01 Jan 2026
Команда mv в Linux — как перемещать файлы
Команда mv в Linux — как перемещать файлы

Иконка команды mv в Linux

Часто удобнее перемещать файлы через графический файловый менеджер, но в терминале это делают быстрее и надёжнее — особенно в сценариях автоматизации и на серверах. Команда mv доступна в большинстве дистрибутивов Linux: Ubuntu, Debian, Fedora, Kali и т. п.

Синтаксис mv

Основной синтаксис очень прост, но порядок аргументов имеет значение:

mv [option]  

Каждый вызов mv должен содержать источник и назначение; опции идут перед ними. Пример простого перемещения файла в домашней папке в каталог Documents:

mv ~/test.txt ~/Documents

Это перенесёт файл test.txt из домашнего каталога в ~/Documents.

Пример использования mv: перемещение одного файла

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

mv file1.txt file2.txt file3.txt ~/backup/

Если нужно переместить все файлы с общим шаблоном имени, используйте подстановочные символы (glob), например:

mv *.log ~/logs/

Перемещение нескольких файлов с помощью mv

Основные опции mv

  • -v, –verbose — выводит список выполненных операций. Полезно в скриптах для логирования.
  • -i — интерактивный режим: спросит подтверждение при попытке перезаписать файл на месте назначения.
  • -n — не перезаписывать существующие файлы (автоматически отменяет операцию при конфликте).
  • -u — перемещать только если источник новее целевого файла или целевой отсутствует.
  • –backup=numbered — при конфликте сохраняет резервную копию назначения с суффиксом вроде ~1~ и перемещает файл.

mv с опцией -v (verbose) — вывод действий

Важно: по умолчанию mv перезаписывает файлы без предупреждения. Если вы не хотите потерять данные — используйте -i, -n или –backup.

Интерактивный режим mv с подтверждением

Опция -n предотвращает перезапись при конфликте

Опция -u — обновлять только более новыми файлами

Резервирование при конфликте: --backup=numbered

Поведение mv при разных сценариях (иногда неочевидное)

  • На одном и том же файловом разделе mv чаще всего лишь переименовывает/перемещает ссылку — это очень быстро (операция rename).
  • При перемещении между разными файловыми системами mv фактически копирует файл в назначение и затем удаляет источник. В этом случае теряются некоторые свойства (например, дескрипторы открытых файлов), и операция может занять заметное время.
  • При недостатке прав mv не выполнит операцию: убедитесь, что у вас есть права на запись в целевой каталог и удаление из исходного.

Когда mv не подходит — альтернативные подходы

  • Копировать и удалить: cp -a src dest && rm src — полезно, если нужно гарантировать точную копию (атрибуты и права) и контролировать процесс.
  • rsync — лучший выбор для больших объёмов, удалённых хостов или при необходимости инкрементных копий и сохранения прав: rsync -av –remove-source-files src/ user@host:/dest/
  • scp/sftp/sshfs — для простого копирования между машинами через SSH.
  • git или другие VCS — для перемещений в проекте, где важна история изменений.

Быстрый шпаргалка (cheat sheet)

mv source.txt /path/to/dest/            # переместить один файл
mv -v a.txt b.txt /path/                # показать что делается
mv -i file /dest/                       # спросить при перезаписи
mv -n *.conf /etc/myapp/                # не перезаписывать существующие
mv -u ~/Downloads/* /backup/            # сохранить более новые файлы
mv --backup=numbered foo /dest/         # при конфликте оставить резервную копию

Мини-методология для безопасного переноса (шпаргалка действий)

  1. Оцените: перемещение внутри того же раздела или между разделами/машинами?
  2. Проверьте права: ls -ld и ls -l .
  3. Сделайте dry-run где возможно (rsync –dry-run).
  4. Если риск потери данных — использовать -i или –backup.
  5. Логируйте действия (-v >> logfile).

Важно: при массовых операциях всегда имейте резервную копию или тестовую прогонку на нескольких файлах.

Дерево принятия решения (когда использовать mv vs rsync vs scp)

flowchart TD
  A{Нужно переместить файл'ы'?} --> B{На ту же файловую систему?}
  B -- Да --> C[Используйте mv 'быстро, rename']
  B -- Нет --> D{Локально или удалённо?}
  D -- Локально --> E[Используйте mv, но ожидайте копирования и удаления]
  D -- Удалённо --> F{Нужна синхронизация/инкремент?}
  F -- Да --> G[Используйте rsync — безопасно и настраиваемо]
  F -- Нет --> H[Используйте scp или rsync для копирования, затем удалите источник]

Контрольные списки по ролям

  • Системный администратор:

    • Проверить права и владельца (chown, chmod).
    • Использовать -v и логировать операции.
    • Использовать rsync при переносе между машинами.
  • Девопс/CI-инженер:

    • Предпочитать atomicy в сценариях деплоя (temp dir + mv для финального шага).
    • Использовать mv для быстрых переносов на одном разделе.
  • Обычный пользователь настольной системы:

    • Использовать -i для защиты от потери данных.
    • Пробовать сначала на паре файлов.

Критерии приёмки (тестовые случаи)

  • Перемещение одиночного файла внутри раздела должно быть мгновенным и сохранять владельца.
  • Перемещение между разделами должно скопировать содержимое, а затем удалить источник.
  • При конфликте с -i пользователь должен получать запрос подтверждения.
  • При использовании –backup=numbered целевой файл должен сохраняться с суффиксом резервной копии.

Частые ошибки и рамки применения

  • Ожидание мгновенности при переносе большого файла между разными дисками — неверно.
  • Надежность mv для удаления — будьте осторожны: mv не делает «корзину» по умолчанию.
  • Не используйте mv для синхронизации каталогов на удалённых серверах — используйте rsync.

Короткий глоссарий

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

Резюме

  • mv — простой и быстрый инструмент для перемещения и переименования.
  • Используйте опции (-i, -n, -v, -u, –backup) чтобы обезопасить данные.
  • При переносе между машинами/разделами рассмотрите rsync или scp.

Краткое напоминание: перед массовыми операциями протестируйте команду на нескольких файлах и всегда имейте стратегию отката.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Поставить песню как рингтон на Android
Android.

Поставить песню как рингтон на Android

Как создать инфографику в Canva
Дизайн

Как создать инфографику в Canva

Ripl: создаём заметный контент для соцсетей
Социальные сети

Ripl: создаём заметный контент для соцсетей

Шаблон резюме в Word: быстро и правильно
Карьера

Шаблон резюме в Word: быстро и правильно

Профессиональный email: как создать и подключить к Gmail
Электронная почта

Профессиональный email: как создать и подключить к Gmail

Как выйти из группы Facebook — быстро и безопасно
Социальные сети

Как выйти из группы Facebook — быстро и безопасно