7

Дано:

# mv /mnt /hard /git-src //usr /portage /distfiles /

mv: перемещение между устройствами не удалось: /mnt/hard/git-src/' to /usr /portage /distfiles /git-src'; невозможно удалить цель: каталог

А также

кд / тмп; MKDIR AB; мдкир а / кб / в;

прикоснуться к / с / 1 б / с / 1

mv a / cb / mv: невозможно переместить a/c' to b / c': файл существует

RM A / C / 1 B / C / 1

MV A / CB /

Таким образом, перемещение директории в директорию с тем же именем, когда они содержат похожие файлы, это «Файл существует». Какой смысл помечать его как «перемещение между устройствами» при использовании разных разделов?

1 ответ1

8

mv в одной и той же файловой системе означает перемещение одной записи каталога из одного каталога в другой. mv для файловых систем означает копирование всего исходного дерева и удаление исходных файлов после их копирования. Алгоритм и код в обоих случаях различны, как и многие другие режимы сбоев, поэтому mv ясно показывает в своем сообщении об ошибке, когда выполняется перемещение между файловыми системами.

(Здесь в той же файловой системе это системный вызов rename который возвращает ошибку. Для перемещения между файловыми системами это вызов mkdir , как часть воссоздания дерева каталогов.)

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