9

редактировать: я хочу дополнительный member01 и member02 и каталог blah/

tarball_1.tar.gz содержит каталог test/ с 20 файлами. Я хочу извлечь только члены test/member01 и test/member02 и каталог blah/ и скопировать их в другой "remote_host" с помощью ssh/scp.

Можно ли это сделать как однострочник? Я подумал об использовании tar , pax или cpio но, думаю, я еще не очень разбираюсь в этих утилитах.

1 ответ1

15
tar -xzOf file.tar.gz file_you_want_to_extract | ssh user@host 'cat > /path/to/destination_file'
  • -x : Извлечь
  • -z : через gzip
  • -f : принять файл в качестве входных данных.
  • -O : Извлечь в стандартный вывод

file_you_want_to_extract извлекается из file.tar.gz на стандартный вывод, который поступает в ssh который работает cat на удаленном хосте и записывает свой стандарт на удаленный destination_file Конечно, вы захотите убедиться, что у вас есть разрешение на запись в нужный файл на удаленном хосте.

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