wget最稳,适合大多数HTTP/HTTPS下载;大文件或多线程加速时选aria2c或axel;curl需显式指定输出,适合脚本精确控制;scp/rsync适用于可信内网SSH文件拉取。

直接用 wget 或 curl 就能下,95% 的场景够用;大文件、断连频繁、需要多线程加速时,才考虑 aria2c 或 axel。
wget 最稳,适合大多数 HTTP/HTTPS 下载
wget 默认支持断点续传、后台运行、重试机制,对网络波动容忍度高,是生产环境首选。
- 下载并保留原文件名:
wget https://example.com/file.zip - 指定本地文件名:
wget -O archive.zip https://example.com/file.zip - 断点续传(文件已存在且不完整时):
wget -c https://example.com/large.iso - 后台下载 + 记录日志:
wget -b -o download.log https://example.com/data.tar.gz - 遇到 403 错误?URL 含
&、=等特殊字符时,必须加单引号:wget 'https://example.com/?key=val&token=abc'
curl 需显式指定输出,适合脚本中精确控制
curl 不默认保存文件,必须用 -O(按 URL 命名)或 -o(自定义名),否则内容直接刷到终端——这点容易踩坑。
- 按原名保存:
curl -O https://example.com/report.pdf - 另存为指定名:
curl -o report_v2.pdf https://example.com/report.pdf - 下载失败不生成空文件(避免后续脚本误判):
curl -f -o file.txt https://example.com/file.txt(-f表示服务器返回非 2xx 状态码时退出) - 带请求头绕过简单防盗链:
curl -H "User-Agent: Mozilla/5.0" -o img.jpg https://site.com/img.jpg
aria2c 多线程加速,但不是所有网站都支持
aria2c 默认开 5 个连接并发下载同一文件,对 CDN 或镜像站效果明显;但若目标服务器禁用范围请求(Range header),反而比 wget 慢,甚至失败。
- 基础下载:
aria2c https://example.com/bigfile.bin - 指定线程数(如 8 个):
aria2c -x 8 https://example.com/bigfile.bin - 保存为其他名字:
aria2c -o data.bin https://example.com/bigfile.bin - 从文件批量下载(每行一个 URL):
aria2c -i urls.txt - 注意:某些内网服务或老旧 Web Server 不响应
Range请求,此时aria2c会反复重试或降级为单流,不如直接用wget -c
scp/rsync 用于可信内网文件拉取,不走 HTTP 协议
这不是“下载链接”,而是通过 SSH 协议从另一台 Linux 机器复制文件——适用于运维场景,比如从跳板机取日志、从备份机拉归档。
- 单文件下载:
scp user@10.0.1.5:/var/log/app.log ./ - 整个目录(保持权限和时间戳):
rsync -avz user@10.0.1.5:/backup/20260907/ ./local-backup/ - 注意:
scp和rsync依赖远端开启 SSH 服务且账户有对应路径读取权限;不能用来下载https://开头的网页链接
真正容易被忽略的是:URL 中的特殊字符不加引号、curl 忘加 -o 导致终端刷屏、以及误以为 aria2c 在任何网站都能加速——它只在服务器支持分块传输时才有效。先跑通 wget,再根据瓶颈换工具,别一上来就装 aria2。


















