Копирование файлов с использованием cpio - почему я получаю ошибку "Invalid cross-device link"?

Для копирования больших файлов, я хотел бы попробовать заменить в моих сценариях оболочки cp от cpioпотому что я надеюсь, что смогу точно настроить производительность, указав явные размеры буфера. Текущая среда разработки - Zsh на Cygwin на Windows 7, но по решению должна также работать на Linux.

Моя оригинальная команда копирования

cp //some.share/some/file local_dir

Я заменил его на

cpio -null -pd local_dir <<<//some.share/some/file

и я получаю сообщение об ошибке

//some.share/some/file: Неверная ссылка между устройствами

Это удивляет меня. Почему cpio пытается создать здесь жесткую ссылку? Ведь предполагается, что файл скопирован, а не ссылка на него!

Мне известно, что я немного злоупотребляю cpio, поскольку предполагается, что cpio должен копировать архивы, а не отдельные файлы, а исходя из моего понимания -p Переключатель командной строки, я думал, что я мог бы использовать его также только для копирования файлов.

0 ответов

Другие вопросы по тегам