我有一些 gzip 文件想要传输到远程服务器并直接提取到目标驱动器上。
它类似于这个命令
dd if=/dev/sda bs=5M conv=fsync status=progress | gzip -c -9 | ssh user@DestinationIP 'gzip -d | dd of=/dev/sda bs=5M'
来自Server Fault上的这个问题。
就我而言,文件已经被压缩,因此gzip -9
不需要源。
它可能更类似于:
load-some-file /drive/image.tar.gz | ssh user@DestinationIP 'gzip -d | dd of=/dev/sda bs=5M'
应该是什么命令load-some-file
?
像这样的命令就cat
足够了吗,或者dd
它本身就够了吗?
可以将输出直接dd
发送到命令吗?ssh
根本没有命令。使其
ssh
自身读取文件,即重定向其输入:cat /drive/image.tar.gz | ssh …
应该可以工作,但这是无用的用法cat
。原则上是的。有许多命令可以按原样输出其输入,请参阅此答案。不过,如果您只想
ssh
在其 stdin 上获取文件,那么输入重定向就足够了。