Используется ли исходная иерархия каталогов чем-то, пока вы делаете копию? Мне удалось вывести это сообщение об ошибке (и некоторые другие), когда я даю ему пути, которые не существуют:
% ls foo bar baz ls: bar: No such file or directory ls: foo: No such file or directory baz !1% # Only baz exists. !1% printf %s\\\\n foo bar baz | cpio -odm > /dev/null cpio: Unable to access foo <No such file or directory> cpio: Unable to access bar <No such file or directory> cpio: WARNING! These file names were not selected: foo bar
Но я также получаю более ранние и другие пояснительные сообщения об ошибках. Может быть, вы получаете так много этого последнего, что вы не можете видеть первое. Вы можете попробовать сохранить вывод с помощью, cmd 2> logfile
чтобы сохранить вывод stderr в файл.
Вы можете оказаться в этой же ситуации, если хотя бы один процесс удалит файл между тем, когда find печатает его пути и когда cpio открывает его для чтения. Это условие гонки . Гонка начинается с поиска (когда он читает каталог, найден определенный путь (в конечном итоге печатается его путь)), а участниками являются cpio (выигрывает при успешном открытии пути для чтения) и какой-то другой процесс (выигрывает при удалении путь до того, как cpio откроет его).