【问题标题】:Extract a compressed directory using tar/bzip2 over SSH to local computer使用 tar/bzip2 通过 SSH 将压缩目录提取到本地计算机
【发布时间】:2013-11-18 06:19:10
【问题描述】:

我想在远程计算机上提取和解压缩 (tar/bzip2) 压缩目录,并将目录及其所有内容保存到我的本地计算机,而无需从远程计算机连接回我的本地计算机。我怎样才能通过 SSH 做到这一点? tar 文件不需要存储在远程机器上,只需要存储在本地机器上。我试过了:

ssh remotehost.somewhere.com "tar xf mydirectory.tar.bz2 | bzip2 -c " > mylocaldirectory

【问题讨论】:

    标签: bash ssh tar bzip2


    【解决方案1】:

    流经管道的只是一个字节流,所以你不要“管道”一个目录。

    我想存档存在于远程机器上。此命令将远程存档提取到本地目录:

    ssh HOST "cat mydirectory.tar.bz2" | tar xj -C mylocaldirectory
    

    【讨论】:

    • 好点,但我需要 bzip2 在远程机器上运行,然后将生成的文件保存到我的本地机器
    • ssh HOST "bzcat mydirectory.tar.bz2" | tar x -C mylocaldirectory 然后。
    • 非常感谢您的快速回复!恐怕我的问题还不够清楚,请允许我澄清一下:我需要远程执行提取和解压缩,因此 tar 和 bzip2 都必须在远程计算机上运行。我只想将生成的目录(及其包含的所有文件和子目录)保存到我的本地计算机。
    • 恐怕管道本身无法处理目录。我们将文件归档为二进制流,通常使用tar。我可以问一下这个完全远程限制或决定的原因吗?
    • 再次研究您的建议后,我能够通过将字节流传输到 bzip2 来解决问题,该解决方案有效:ssh HOST "cat mydirectory.tar.bz2 | bzip2 -cd" | tar xj -C mylocaldirectory
    猜你喜欢
    • 2017-02-22
    • 2016-07-21
    • 1970-01-01
    • 1970-01-01
    • 2013-03-24
    • 1970-01-01
    • 1970-01-01
    • 2010-11-28
    • 1970-01-01
    相关资源
    最近更新 更多