wget 断点续传与限速下载
发布时间:2026-08-10 12:16       
更新时间:2026-08-11 04:55
下载一个几 GB 的包,断在最后 5% 从头再来,是很多人对 wget 又爱又恨的原因。其实断点续传、限速、后台下载它都支持,只是参数不常被翻出来。
断点续传
加上 -c 参数,wget 会从已有文件的末尾继续:
```bash
wget -c https://mirror.example.com/path/bigfile.tar.gz
```
前提是对端服务器支持 Range 请求,绝大多数静态文件服务都支持。不加 -c 重新运行会另存为"文件名.1",等于白下一次还占双倍空间,下载中断后第一反应就该是补上这个参数。续传是否生效有直观判据:重新执行后文件持续增长、没有另存 .1 文件,就是续上了。URL 带一长串参数时,用 -O 明确指定保存名:`wget -c -O data.tar.gz '地址'`。
限速与后台
白天在生产机上拉大包,怕占满带宽影响业务,用 --limit-rate 封顶:`wget -c --limit-rate=2m 地址`,单位 k、m 都可以。配合 `wget -b` 放到后台,输出写入 wget-log,`tail -f wget-log` 随时看进度,不占着终端干等。顺带分清分工:wget 为下载而生,递归、续传、限速开箱即用;curl 偏向单次请求与接口调试,两者互补而非替代,按场景选工具,别硬凑合用。线路不稳的源再加 `--tries=20 --timeout=30`,让它遇到抖动自动重试,而不是一次超时就宣告失败。
下载前的探测
不想浪费时间才发现链接失效,`wget --spider 地址` 只探测不下载,能确认链接有效和文件大小,配合 -S 还能看到响应头,排查跳转问题时顺手。
递归下载要克制
`wget -r` 能递归抓取整个目录树,镜像文档站确实方便,但对别人的服务器要克制:加 -np 不追溯上级目录,-l3 限制层级,--wait=1 让每次请求间隔一秒。没有明确需求就不用 -r,逐个文件下载可控得多,别把对方带宽打满,也别把自己 IP 拉黑。
常见问题
证书报错先怀疑系统时间不准,实在不行再临时用 --no-check-certificate 救急;磁盘写满会静默中断,大文件下载前 `df -h` 确认余量。下载完成后顺手算一次校验和,比任何参数都更能保证这一趟没白跑。