Как извлечь отдельный файл из архива cpio?

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

Пример вывода:

sending incremental file list
[LIST OF FILES]

sent 226 bytes  received 34 bytes  520.00 bytes/sec
total size is 648,373,274  speedup is 2,493,743.36 (DRY RUN)

Чтобы удалить эти строки, направьте вывод rsync в head и в tail . Затем сохраните обработанный вывод в включаемый файл:

rsync --dry-run -avz source / destination / | заголовки --lines = -3 | tail --lines = + 3> include.txt

Наконец, скажите rsync использовать сгенерированный включаемый файл (добавляя дополнительные параметры по желанию):

rsync --include-from = include. txt --exclude = * источник / назначение /

2
02.03.2019, 10:53
1 ответ

Вы должны использовать опцию -d, чтобы разрешить cpioсоздавать ведущие каталоги (path/to), если они не существуют:

cpio -id < archive.cpio path/to/file

Кроме того,bsdtar(обычный tarво FreeBSD )умеет извлекать архивы cpio, сжатые или нет.

6
27.01.2020, 22:08

Теги

Похожие вопросы