读取远程文件的块而不传输整个文件?

时间:2009-02-06 09:50:11

标签: linux file unix

是否可以通过任何Unix实用程序读取远程文件的块(比如说'head')而不是传输整个文件?

3 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:1)

  1. 你可以远程提取有趣的 文件的一部分(使用 dd 表示 例子)然后转移 有趣的回头。
  2. 其他选择是聘用 netcat的:

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

    在接收器上:

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

    • -r 检索字节范围
    • -C 从指定的偏移开始下载
  4. 除了上面提到的那些之外,还有其他可能性。有关您案例的更多信息可能有助于设计更智能的方法。

答案 2 :(得分:1)

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

有关详细信息,请参阅http://www.lag.net/paramiko/