使用ftp命令进行断点续传(reget、restart)

问题描述

在服务器端安装好vsftp,在客户端安装好ftp后,在客户端向服务器端上传文件或下载文件,如何使用命令进行断点续传?

实现方法

基本操作

在客户端使用ftp时,使用 ftp IP方式与服务器端建立连接后,可以使用help 或?查看ftp支持的命令,每条命令还可以使用 **help [command]**的方法查看使用说明。
使用ftp命令进行断点续传(reget、restart)
常用的命令有使用put 或send 进行上传操作;使用mput 批量上传多个文件;使用get 或 recv进行下载;使用mget 进行批量下载。
如果在上传或下载过程中因为各种原因传输中断了,可以进行断点续传:

上传(restart)

如果在客户端向服务器端上传文件时发上了中断。
使用ftp命令进行断点续传(reget、restart)

  1. 首先,使用size命令查看服务器端已接收文件的大小:size 文件名
    使用ftp命令进行断点续传(reget、restart)
  2. 然后,使用restart命令设置断点位置: restart 已上传文件的大小
    使用ftp命令进行断点续传(reget、restart)
  3. 最后,再次使用put命令继续上传:put 文件名
    使用ftp命令进行断点续传(reget、restart)
    可见,第一次上传了126308326 bytes数据,第二次上传了783659034 bytes数据,总共909967360 bytes,即文件的总大小:
    使用ftp命令进行断点续传(reget、restart)

下载(reget)

文件的断点下载相比上传更简单,仅需要使用 reget 文件名 即可自动续传,不需要设置断点的位置。

其他说明

进行二进制文件传输,需要设置传输模式为 binary(直接输入binary命令即可设置)。
客户端向服务器端上传文件,需要使用被动模式,使用passive命令开启。
可以使用 hash 分块大小 的方式,设置上传或下载的进度条,其中分块大小支持输入单位,如100M等。