必须加-c参数启用续传,否则wget会重头开始;需确认服务器支持accept-ranges或返回206状态码;搭配--tries=0、--timeout=30、--waitretry=5等容错参数才能在弱网下稳定续传。

在弱网环境下用 wget 下载大文件,关键不是“能不能续传”,而是“怎么让续传真正稳住”。核心就三点:用对参数、确认服务端支持、加容错机制。
必须加 -c 参数启用续传
这是续传的开关。不加 -c,哪怕文件已下了一半,wget 也会当成新任务重头开始,覆盖或报错。正确写法是:
- wget -c URL —— 最简形式,自动检查同名文件并追加
- 如果要自定义保存路径或文件名,必须同时指定 -O 文件名,例如:
wget -c -O ubuntu-24.04.iso https://releases.ubuntu.com/24.04/ubuntu-24.04-live-server-amd64.iso - 注意:不能和 -nc(不覆盖) 同时用,否则会拒绝续传
弱网必须搭配重试与超时控制
单纯 -c 不足以应对频繁掉线。要让 wget 主动扛住波动,得组合以下参数:
PyCharm 2026.2.0.1 Linux版提供 JetBrains 官方 2026.2.0.1 版本安装包,适合需要指定 PyCharm 版本进行 Python 项目开发、运行和调试的用户。
- --tries=0:无限重试(适合长时间无人值守);也可设具体次数如 --tries=20
- --timeout=30:单次请求 30 秒无响应即断开,避免卡死
- --waitretry=5:每次重试前等 5 秒,减轻服务器压力也避开瞬时拥塞
- 示例完整命令:
wget -c --tries=0 --timeout=30 --waitretry=5 -O data.tar.zst https://example.com/data.tar.zst
验证服务器是否真支持续传
很多用户失败是因为服务器不认 Range 请求。wget 不会直接报错,但日志里有线索:
- 成功续传时,wget 开头会显示类似:
Continuing in background, pid 12345.
且进度条从已有字节数开始(如 “1.2GiB/15GiB”) - 若服务器不支持,会看到提示:
The file is already fully retrieved; nothing to do.(误判完成)
或更常见的是:
Cannot resume. Requested byte range not satisfiable. - 快速验证方法:
wget --spider -S -c URL 2>&1 | grep -i "accept-ranges\|206"
看到 Accept-Ranges: bytes 或返回状态码 206 才算支持
进阶建议:限速+后台+日志
几百GB文件下载常需数小时甚至数天,建议加上这些保障:
- --limit-rate=2M:限制速率防占满带宽,数字后单位可为 k / M
- -b -a download.log:后台运行 + 记录完整日志,方便中断后查原因
- 配合 nohup 更稳妥:
nohup wget -c --tries=0 --limit-rate=2M -b -a log.txt URL & - 中途想看进度?用 tail -f log.txt 或直接 ls -lh 文件名 查当前大小










