编辑:我想要额外的member01
和member02
目录blah/
tarball_1.tar.gz
包含 20 个文件的目录test/
。我想仅提取成员test/member01
和test/member02
目录blah/
,然后使用 ssh/scp 将它们复制到另一个“remote_host”。
这可以一行代码完成吗?我考虑过使用tar
、pax
或者,cpio
但是我想我还不太熟练使用这些实用程序。
答案1
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
。当然,您需要确保您对远程主机上所需的目标文件具有写入权限。