Aria2 命令行下载工具详解:从基础到高级配置
概述
Aria2 是一个轻量级、多协议、支持多线程下载的命令行工具。它支持 HTTP/HTTPS、FTP、SFTP、P2P协议 和 Metalink 协议,能够高效利用带宽资源进行文件下载。本文将全面介绍 Aria2 的核心功能和使用方法。
基本使用
下载命令格式
aria2c [选项] [URI|资源链接|种子文件|Metalink文件]...
核心功能特性
- 多协议支持:同时支持 HTTP(S)、FTP、SFTP、P2P协议 和 Metalink
- 多源下载:可从多个服务器同时下载同一文件
- 断点续传:支持未完成下载的恢复
- 分块下载:将文件分割为多个部分并行下载
- 完整性校验:支持多种哈希算法验证文件完整性
常用参数详解
基本参数
| 参数 | 说明 |
|---|---|
-d, --dir=<DIR> | 指定下载文件保存目录 |
-i, --input-file=<FILE> | 从文件读取下载链接列表 |
-l, --log=<LOG> | 指定日志文件,使用"-"输出到标准输出 |
-j, --max-concurrent-downloads=<N> | 设置最大并行下载任务数(默认5) |
-V, --check-integrity | 下载完成后验证文件完整性 |
-c, --continue | 继续未完成的下载 |
-h, --help | 显示帮助信息 |
连接控制参数
| 参数 | 说明 |
|---|---|
-x, --max-connection-per-server=<NUM> | 每个服务器最大连接数(默认1) |
-s, --split=<N> | 每个下载任务使用的连接数(默认5) |
-k, --min-split-size=<SIZE> | 最小分块大小(默认20M) |
-t, --timeout=<SEC> | 连接超时时间(秒,默认60) |
--connect-timeout=<SEC> | 建立连接超时时间(秒,默认60) |
下载控制参数
| 参数 | 说明 |
|---|---|
-m, --max-tries=<N> | 最大重试次数(默认5) |
--retry-wait=<SEC> | 重试等待时间(秒) |
--lowest-speed-limit=<SPEED> | 最低速度限制(低于此值放弃下载) |
--dry-run | 模拟运行,不实际下载 |
高级配置技巧
代理设置
Aria2 支持多种代理配置方式:
# 全局代理
--all-proxy=http://proxy.example.com:8080
# 协议特定代理
--http-proxy=http://proxy.example.com:8080
--https-proxy=https://proxy.example.com:8080
--ftp-proxy=ftp://proxy.example.com:8080
# 代理认证
--all-proxy-user=username
--all-proxy-passwd=password
服务器性能优化
Aria2 可以记录服务器性能数据,优化后续下载:
# 保存服务器性能数据
--server-stat-of=server_stats.txt
# 加载历史性能数据
--server-stat-if=server_stats.txt
# 设置性能数据有效期
--server-stat-timeout=86400 # 24小时
分块下载策略
# 设置分块选择算法
--stream-piece-selector=geom # 几何增长模式,适合流媒体
# URI选择策略
--uri-selector=adaptive # 自适应选择最快镜像
协议特定配置
HTTP/HTTPS 配置
# CA证书配置
--ca-certificate=ca-cert.pem
--check-certificate=true
# 客户端证书
--certificate=client.p12
--private-key=key.pem
# 压缩传输
--http-accept-gzip=true
FTP/SFTP 配置
# 被动模式
--ftp-pasv=true
# 用户名密码
--ftp-user=username
--ftp-passwd=password
实用技巧
- 批量下载:将多个URL保存在文件中,使用
-i参数批量下载 - 限速下载:使用
--max-download-limit限制下载速度 - 后台运行:结合nohup或screen工具实现后台下载
- RPC控制:启用JSON-RPC接口实现远程控制
总结
Aria2 是一款功能强大且高度可配置的命令行下载工具。通过合理配置连接数、分块大小和服务器选择策略,可以显著提高下载速度。其多协议支持和断点续传功能使其成为Linux环境下理想的下载解决方案。
对于高级用户,可以进一步探索Aria2的RPC接口和脚本集成功能,实现自动化下载管理。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



