Я использовал команду mv для перемещения нескольких файлов из каталога A в каталог B. Файловая система, в которой находится каталог B, была переполнена, поэтому я получил соответствующие сообщения. Однако файлы были перемещены пустыми (размер 0), а исходные файлы были удалены. Итак, я потерял практически все файлы, которые собирался переместить. Так оно и должно себя вести?

1 ответ1

1

Вы двигались через точку монтирования? Обычно mv работает просто переименовывая файл. Полное имя файла включает его абсолютный путь, поэтому переименование и перемещение - это одна и та же команда.

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

В этом случае mv копирует и удаляет файл. Эта операция, однако, не так надежна, как я понял из личного опыта. Он не всегда проверяет, успешно ли выполнено копирование перед удалением.

Откровенно говоря, для mv совершенно бесполезно даже пытаться вести себя таким образом, когда вы должны просто использовать команду cp, а затем команду rm при каждой передаче информации через точки монтирования.

Создавая простую команду для выполнения закулисной магии без ведома пользователя, авторы этой команды создали менее прозрачную систему в дополнение к еще одной склонной к ошибкам.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .