如何使用一个命令对目录进行 gzip 压缩、通过 scp 传输以及解压缩?

如何使用一个命令对目录进行 gzip 压缩、通过 scp 传输以及解压缩?

我经常传输大型目录scp,如果我能以某种方式压缩目录、发送它并将其全部解压缩,那就太好了。

这样的事可能吗?

答案1

rsync那么,如果-z启用压缩选项,该如何使用呢?

rsync -az --progress source_dir/* remote_host:/destination_dir

这还有一个额外的好处,如果文件已经存在并且在目标上没有改变,它将不会被传输。

答案2

感谢@johnshen64的回答,我能够想出一些非常好的东西

tar -zc path/to/source | ssh user@remote tar -zxC path/to/destination

不幸的是,这不会显示传输进度。我注意到使用此方法可以实现惊人的速度提升。

如果有人知道如何显示此类转移的进度,我将非常感谢您的帮助:)

答案3

嗯,我会用 tar

tar cf - 目录 | ssh 服务器‘tar xf -’

您可以添加 v 来验证。

zip 应该是相同的,但是在我看来,tar 对于 Linux 来说更为强大。

相关内容