我必须将大量文件从一台 PC 传输到另一台(都是 Linux)。我想使用scp它,但一次scp只允许传输一个文件。
我怎样才能做到这一点?
我有
如果可能,我想透明地 gzip 和 ungzip 以节省带宽!
这可能吗?
aki*_*ira 33
使用tar:
tar cvzf - -T list_of_filenames | ssh hostname tar xzf -
Run Code Online (Sandbox Code Playgroud)
Dav*_*ett 19
我想为此使用 scp,但 scp 一次只允许传输一个文件。
我很确定这不是真的,至少对于scp大多数 Linux 发行版中包含的 OpenSSH 提供的命令来说不是这样。
我使用scp file1 file2 ... fileN user@host:/destination/directory/相当频繁。
对于透明压缩,SSH 协议内置了此功能scp,如果您-C在命令行上提供该选项,则可以使用它。对于许多类似的小文件,您会发现 akira 建议的 tar+gz 选项可以获得更好的压缩效果,因为它可以利用此类文件之间的相似性,scp将每个文件压缩为单独的实体。我通常更喜欢使用 scp,因为它更容易恢复部分传输(或者,尽管我知道在这种情况下提问者没有选择)rsync因为这更容易恢复并共享整个 tar+gz 选项-流压缩优势。
不起作用scp -r yourdir otherhost:/otherdir?
然后试试这个:
tar cfz - . | ssh otherhost "cd /mydir; tar xvzf -"
Run Code Online (Sandbox Code Playgroud)
ztar的-flag 进行压缩。或者您可以使用 -C 进行 ssh:
tar cf - . | ssh -C otherhost "cd /mydir; tar xvf -"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
72243 次 |
| 最近记录: |