在Linux系统中,断点续传是指在网络传输或文件复制过程中,因意外中断(如网络波动、手动终止等)后,能够从中断的位置继续传输,而非重新开始,从而节省时间和带宽,Linux提供了多种支持断点续传的命令,其中最常用的是wget、curl、rsync和axel,这些工具通过不同的技术实现断点续传功能,适用于HTTP、FTP、SSH等多种协议场景,以下将详细介绍这些命令的使用方法、参数配置及实际应用场景。

wget命令:支持HTTP/FTP的断点续传
wget是一款开源的命令行下载工具,默认支持HTTP和FTP协议的断点续传功能,其核心参数是-c(--continue),用于续传之前未完成的下载任务,若目标文件已存在,wget会自动检测文件大小并从中断处继续下载;若文件不存在或大小不匹配,则会重新下载。
基本语法:
wget -c [URL]
示例:
续传一个被中断的HTTP文件下载:
wget -c https://example.com/largefile.iso
进阶参数:

--tries=NUM:设置重试次数,默认为20次,适用于网络不稳定环境。--timeout=SECONDS:设置超时时间,避免因长时间无响应导致任务失败。-b或--background:后台下载,适合长时间任务。-i FILE:从文件中读取URL列表,批量下载并支持续传。
注意事项:
- 目标服务器需支持断点续传(响应HTTP头
Accept-Ranges: bytes),若服务器不支持,-c参数可能导致下载失败或文件损坏。 - 若本地文件大小大于服务器文件,
wget会自动重新下载,需手动删除旧文件后重新开始。
curl命令:多协议支持的灵活工具
curl支持HTTP、HTTPS、FTP、SCP等多种协议,通过-C -参数实现断点续传,-C后的表示自动从中断位置续传。
基本语法:
curl -C - -O [URL]
示例:
续传FTP文件并保存为原文件名:
curl -C - - ftp://example.com/files/archive.tar.gz

进阶参数:
-L:跟随重定向,适用于URL跳转的场景。-u USER:PASS:提供认证信息,用于需要权限的FTP/HTTP服务器。- 显示进度条,提升用户体验。
-o FILE:指定输出文件名,结合-C -可续传到自定义文件。
注意事项:
curl的断点续传依赖服务器支持,与wget类似,需检查服务器响应头。- 若本地文件损坏,可先删除再重新下载,或使用
-r(--range)指定下载范围手动续传。
rsync命令:本地与远程的高效同步
rsync主要用于本地与远程文件同步,通过--partial和--append参数支持断点续传,尤其适合大文件传输和目录同步。
基本语法:
rsync --partial --append -r [源路径] [目标路径]
示例:
续传本地到远程的文件:
rsync --partial --append -r /local/file.txt user@remote:/remote/path/
进阶参数:
-P:等效于--partial --progress,显示进度并保留部分传输的文件。-z:压缩传输数据,减少带宽占用。-e SSH:指定SSH协议,增强传输安全性。--remove-source-files:传输完成后删除源文件,适用于一次性任务。
注意事项:
rsync的断点续传基于文件校验,若源文件被修改,可能导致续传失败。- 适用于增量同步,仅传输变化部分,效率高于普通复制命令。
axel命令:多线程加速下载
axel是一款多线程下载工具,通过-n参数设置线程数,默认支持断点续传,适合高速下载大文件。
基本语法:
axel -n [线程数] -o [输出文件] [URL]
示例:
使用8线程续传下载:
axel -n 8 -o download.zip https://example.com/largefile.zip
进阶参数:
-s:设置每秒最大字节数,限速下载。-q:静默模式,不显示进度信息。-a:自动调整线程数,根据网络状况优化。
注意事项:
- 多线程下载可能被服务器拦截,需确认服务器是否允许并发连接。
- 续传时需确保输出文件未被修改,否则可能导致数据错乱。
命令对比与选择建议
以下表格总结了各命令的适用场景和特点:
| 命令 | 支持协议 | 断点续传参数 | 优势 | 适用场景 |
|---|---|---|---|---|
| wget | HTTP/FTP | -c |
简单易用,适合HTTP/FTP下载 | 常规文件下载,服务器支持断点续传 |
| curl | 多协议 | -C - |
协议广泛,支持自定义请求头 | 复杂传输场景,需认证或重定向 |
| rsync | 本地/远程/SSH | --partial --append |
增量同步,高效节省带宽 | 目录同步,服务器间文件传输 |
| axel | HTTP/FTP | 默认支持 | 多线程加速,下载速度快 | 大文件高速下载,网络稳定环境 |
选择建议:
- 若仅下载HTTP/FTP文件且服务器支持断点续传,优先使用
wget或axel。 - 需多协议支持或复杂请求时,选择
curl。 - 本地与远程同步或增量传输时,
rsync为最佳选择。
相关问答FAQs
Q1: 使用wget续传时提示“server does not support byte ranges”,如何解决?
A: 该错误表明目标服务器不支持断点续传,可尝试以下方法:
- 删除已下载的部分文件,使用
wget重新下载(不加-c参数)。 - 改用支持单线程续传的工具,如
curl -C -。 - 联系服务器管理员,确认是否开启断点续传功能。
Q2: rsync续传时提示“file has been truncated”,如何处理?
A: 此错误通常因目标文件被截断或修改导致,解决方案:
- 删除目标文件,重新使用
rsync --partial --append传输。 - 检查源文件是否被修改,若需强制续传,可添加
--ignore-existing参数覆盖目标文件。 - 使用
rsync --checksum通过校验和验证文件完整性,确保续传数据正确。
