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

Коротко: mv — базовый инструмент для перемещения и переименования файлов в большинстве дистрибутивов Linux (Ubuntu, Fedora, Kali и др.). Ниже краткое руководство по синтаксису, основным опциям, примерам, советам по безопасности и альтернативам.
Синтаксис команды mv
Общий формат команды прост, важно соблюдать порядок аргументов:
mv [опция] <источник> <назначение>Где <источник> — файл или каталог, который хотите переместить, а <назначение> — папка или новое имя. Если вы указываете опции, они идут перед источником и назначением.
Простой пример — создайте тестовый файл и выполните:
mv ~/test.txt ~/DocumentsЭта команда переместит файл test.txt из домашней директории в папку Documents.

Чтобы переместить несколько файлов за раз, перечислите их через пробел, указав в конце директорию назначения:
mv file1.txt file2.txt file3.txt ~/Documents/Если все файлы имеют общую часть имени, можно использовать подстановочный знак *. Например, все .log-файлы:
mv *.log ~/logs/
Примечание: mv по умолчанию не запрашивает подтверждения и обычно не выводит результат — оно либо выполнило операцию, либо вернуло ошибку.
Важные опции mv и примеры
- -v, –verbose — выводит подробный отчёт о каждой операции.
mv -v file.txt ~/Documents/
- -i — интерактивный режим: при конфликте имён спросит подтверждение.
mv -i file.txt ~/Documents/
- -n — никогда не перезаписывать существующие файлы в каталоге назначения; автоматически отменяет операцию для конфликтующих файлов.
mv -n file.txt ~/Documents/
- -u — обновлять только когда источник новее назначения или когда назначения не существует. Удобно при синхронизации двух папок.
mv -u file.txt ~/Documents/
- –backup=numbered — при конфликте добавляет суффикс с номером (например, ~1~) к имени исходного файла и сохраняет резервную копию.
mv --backup=numbered file.txt ~/Documents/
Важно: если вы ожидаете видимости резервных файлов, используйте ls -a, чтобы показать скрытые файлы.
Поведение при перемещении между файловыми системами
Если mv не может выполнить операцию переименования на уровне файловой системы (например, источник и назначение на разных устройствах или разделах), оно попробует скопировать файл в место назначения, а затем удалить источник. Это значит:
- Перенос может занять больше времени и использовать диск для копирования.
- Операция копирования может прерваться из‑за ошибок; в таком случае исходный файл обычно остаётся.
- Права доступа и владельцы, в некоторых сценариях, могут измениться в соответствии с политикой целевой файловой системы и привилегиями пользователя.
Всегда проверяйте, что у вас достаточно места и прав при переносе больших объёмов данных между разделами.
Когда mv не подходит (примеры неудач)
- Нужен надёжный дупликационный перенос по сети: mv не передаёт файлы на удалённую машину напрямую (за исключением смонтированных сетевых ресурсов). Используйте rsync, scp или sftp.
- Требуется атомарная транзакция для большого набора файлов: mv не гарантирует атомарности при переносе между файловыми системами.
- Необходимо контролировать скорость передачи или возобновлять прерванную передачу: rsync лучше подходит.
Альтернативы и когда их использовать
- cp + rm — безопасный вариант, если вы хотите сначала проверить копию, а затем удалить исходник.
- rsync — для синхронизации каталогов, контроля пропускной способности и возобновления прерванных операций.
- scp / sftp — для копирования на удалённые серверы через SSH.
- git — для версионного контроля, а не для массового переноса файлов на файловом уровне.
Пример: копируем и проверяем перед удалением:
cp -a ~/source/ ~/dest/
# проверить данные, затем
rm -r ~/source/Мини‑план (SOP) для массовых переносов
- Оцените объём данных и доступное место на диске назначения.
- Отключите процессы, которые могут записывать в исходные файлы, или уведомьте пользователей.
- Сделайте резервную копию критичных данных (если нужно).
- Выполните пробный перенос для небольшой выборки с опцией -v и проверьте результаты.
- Используйте –backup=numbered или -i при риске перезаписи.
- После переноса проверьте контрольные суммы или количество файлов.
- Очистите исходные данные только после подтверждения целостности.
Чек‑лист для администратора
- Проверить права (chmod/chown) и свободное место.
- Проверить, что целевая директория смонтирована и доступна.
- Выбрать режим: -i / -n / -u / –backup=numbered.
- Запустить с -v для логирования или перенаправить вывод в файл.
- После завершения — проверить логи и целевую директорию.
Критерии приёмки
- Все файлы из списка появились в целевой директории.
- Число файлов и суммарный размер совпадают с ожидаемыми.
- При заданных опциях (например, -u) сохранены более новые файлы, как ожидается.
- Нет несанкционированных изменений прав или владельцев.
Короткий словарь терминов
- Источник — файл или каталог, который перемещается.
- Назначение — папка или новое имя, куда перемещают объект.
- Подстановочный знак (*) — символ для массового соответствия имён файлов.
Итог
Команда mv — простой и мощный инструмент для перемещения и переименования файлов в Linux. Для безопасной работы используйте опции -i, -n, -u и –backup=numbered, проверяйте права и пространство на диске и применяйте rsync или scp, если нужно копировать по сети.
Важно: перед массовыми операциями делайте тесты и резервные копии.
Похожие материалы
Что такое Group Policy в Windows и как им управлять
Диспетчер буфера обмена Windows 11 — как пользоваться
Как заглушать рекламу в Spotify
Спуфинг: виды атак и защита
Перемещение папок пользователей в Windows 10