三个工具怎么选
- curl:脚本友好、单文件下载、支持协议广。适合「一段命令搞定一次下载」,几乎所有系统自带
- wget:递归下载与镜像能力强,续传参数简单直接。适合批量拉取目录结构、离线镜像
- aria2:多线程分段下载、批量任务、断点续传,适合大文件与多文件队列
简单结论:临时下一次用 curl,批量镜像用 wget,大文件提速用 aria2;三者都支持断点续传,参数见下文。
常用参数速查
curl -L -O 跟随重定向并保存为远端文件名 curl -C - -fL --retry 3 -o F 断点续传、失败重试 3 次、保存为 F wget -c -t 3 --timeout=30 断点续传,重试 3 次,超时 30 秒 wget -i urls.txt -P dir/ 从清单批量下载到指定目录 aria2c -c -x8 -s8 -k 1M 续传,8 连接 8 分段,每段 1MB
实战组合:下载 Release 资产
以本站加速地址为例,一条稳健的命令应该同时包含:跟随重定向、断点续传、失败重试与超时控制:
curl -C - -fL --retry 3 --retry-delay 2 --timeout 60 \ -o app-v1.0.zip \ "https://ghclone.com/https://github.com/owner/repo/releases/download/v1.0/app-v1.0.zip"
中断后重复执行同一条命令即可从断点继续。下载完成建议核对文件大小,发布方提供哈希的还应做一次 sha256sum 校验。
稳定性的三个建议
- 控制并发:aria2 的连接数并非越高越好,链路抖动时过高并发更容易出现个别分段长时间卡住
- 设置超时与重试:让工具在失败时自动等待重试,而不是立即报错退出
- 固定版本:优先下载标签或提交对应的文件,避免中途内容更新导致续传拼接不一致
常见问题
- 证书或 TLS 报错?多数是环境问题,升级工具版本或检查系统时间;不建议用跳过校验的方式绕过。
- 代理环境怎么用?curl 用
--proxy、wget 用环境变量https_proxy,aria2 用--all-proxy。 - 同时下多个文件?wget 用
-i清单模式;aria2 直接把多个地址写在命令行或用-i输入文件。