【问题标题】:Reading chunks of a remote file without transferring the whole file?在不传输整个文件的情况下读取远程文件的块?
【发布时间】:2009-02-06 09:50:10
【问题描述】:

是否有可能通过任何 Unix 实用程序来读取远程文件的块(例如“head”)而不是传输整个文件?

【问题讨论】:

  • 您可以使用哪些远程访问方法? SSH、FTP、HTTP?

标签: linux file unix


【解决方案1】:

您可以通过SSH执行远程命令

ssh user@server.com "head <filename>"

【讨论】:

  • 谢谢!这让我自己觉得很愚蠢:-(
【解决方案2】:

如果您了解 Python,paramiko 库应该可以使这相当容易做到。它是 ssh 协议的纯 Python 实现,特别是 sftp 应该允许您获取所需的文件部分。

详情请见http://www.lag.net/paramiko/

【讨论】:

    【解决方案3】:
    1. 您可以远程提取有趣的 文件的一部分(使用 dd 示例),然后转移 有趣的大块回来。
    2. 其他选择是雇用 网猫:

      dd if=file skip=... bs=... count=...| nc <host> <port>
      

      在接收器上:

      nc -l -p <port> | dd of=chunk
      
    3. 您可以将 curl 与 以下选项(假设您有支持搜索的 HTTP 或 FTP):

      • -r 检索字节范围
      • -C 从给定的偏移量开始下载

    除了上面提到的之外,当然还有其他可能性。有关您的案例的更多信息可能有助于设计更智能的方法。

    【讨论】:

      猜你喜欢
      • 2011-12-02
      • 2011-10-15
      • 2019-07-09
      • 2010-09-11
      • 2016-08-14
      • 1970-01-01
      • 2014-02-02
      • 2017-01-19
      相关资源
      最近更新 更多