开启辅助访问 切换到窄版

打印 上一主题 下一主题

aria2(linux命令行下载神器)使用

[复制链接]
作者:heavenyin1324 
版块:
嵌入式操作系统 linux 发布时间:2020-10-13 15:32:08
16190
楼主
跳转到指定楼层
| 只看该作者 回帖奖励 |倒序浏览 |阅读模式
aria2 是一个自由、开源、轻量级多协议和多源的命令行下载工具。它支持 HTTP/HTTPS、FTP、SFTP、 BitTorrent 和 Metalink 协议。aria2 可以通过内建的 JSON-RPC 和 XML-RPC 接口来操纵。aria2 下载文件的时候,自动验证数据块。它可以通过多个来源或者多个协议下载一个文件,并且会尝试利用你的最大下载带宽。默认情况下,所有的 Linux 发行版都包括 aria2,所以我们可以从官方库中很容易的安装。一些 GUI 下载管理器例如 uget 使用 aria2 作为插件来提高下载速度。
aria2特性:

  • 支持 HTTP/HTTPS GET
  • 支持 HTTP 代理
  • 支持 HTTP BASIC 认证
  • 支持 HTTP 代理认证
  • 支持 FTP (主动、被动模式)
  • 通过 HTTP 代理的 FTP(GET 命令行或者隧道)
  • 分段下载
  • 支持 Cookie
  • 可以作为守护进程运行。
  • 支持使用 fast 扩展的 BitTorrent 协议
  • 支持在多文件 torrent 中选择文件
  • 支持 Metalink 3.0 版本(HTTP/FTP/BitTorrent)
  • 限制下载、上传速度
1、安装我们可以很容易的在所有的 Linux 发行版上安装 aria2 命令行下载器,例如 Debian、 Ubuntu、 Mint、 RHEL、 CentOS、 Fedora、 suse、 openSUSE、 Arch Linux、 Manjaro、 Mageia 等等……只需要输入下面的命令安装即可。对于 CentOS、 RHEL 系统,我们需要开启 uget 或者 RPMForge 库的支持。
$ sudo apt-get install aria2# yum install aria2# dnf install aria2# zypper install wget# urpmi aria2$ sudo pacman -S aria2下面的命令将会从指定的 URL 中下载一个文件,并且保存在当前目录,在下载文件的过程中,我们可以看到文件的(日期、时间、下载速度和下载进度)。
# aria2c http://download.owncloud.org/community/owncloud-9.0.0.tar.bz203/22 09:49:13 Download complete: /opt/owncloud-9.0.0.tar.bz2Download Results:gid |stat|avg speed |path/URI986c80|OK | 3.0MiB/s|/opt/owncloud-9.0.0.tar.bz2Status Legend:(OK):download completed.在初始化下载的时候,我们可以使用-o(小写)选项在保存文件的时候使用不同的名字。这儿我们将要使用 owncloud.zip 文件名来保存文件。
# aria2c -o owncloud.zip http://download.owncloud.org/community/owncloud-9.0.0.tar.bz203/22 09:51:02 Download complete: /opt/owncloud.zipDownload Results:gid |stat|avg speed |path/URId31304|OK | 7.3MiB/s|/opt/owncloud.zipStatus Legend:(OK):download completed.默认情况下,aria2 会利用全部带宽来下载文件,在文件下载完成之前,我们在服务器就什么也做不了(这将会影响其他服务访问带宽)。所以在下载大文件时最好使用 --max-download-limit 选项来避免进一步的问题。
# aria2c --max-download-limit=500k http://download.owncloud.org/community/owncloud-9.0.0.tar.bz203/22 09:54:51 Download complete: /opt/owncloud-9.0.0.tar.bz2Download Results:gid |stat|avg speed |path/URI7f9fbf|OK | 462KiB/s|/opt/owncloud-9.0.0.tar.bz2Status Legend:(OK):download completed.下面的命令将会从指定位置下载超过一个的文件并保存到当前目录,在下载文件的过程中,我们可以看到文件的(日期、时间、下载速度和下载进度)。
# aria2c -Z http://download.owncloud.org/community/owncloud-9.0.0.tar.bz2 ftp://ftp.gnu.org/gnu/wget/wget-1.17.tar.gz03/22 10:25:54 Download complete: /opt/wget-1.17.tar.gz03/22 10:25:59 Download complete: /opt/owncloud-9.0.0.tar.bz2Download Results:gid |stat|avg speed |path/URIb52bb1|OK | 2.8MiB/s|/opt/wget-1.17.tar.gz53533c|OK | 3.4MiB/s|/opt/owncloud-9.0.0.tar.bz2Status Legend:(OK):download completed.使用 -P 参数来扩展下载地址:
$ aria2c -Z -P "http://host/image{1,2,3}_{A,B,C}.png"5da2af|ERR | 0B/s|http://host/image1_A.png3c98a4|ERR | 0B/s|http://host/image1_B.png17ba0a|ERR | 0B/s|http://host/image1_C.pnge7afa3|ERR | 0B/s|http://host/image2_A.pnge99fcf|ERR | 0B/s|http://host/image2_B.png1f151a|ERR | 0B/s|http://host/image2_C.png2da0f1|ERR | 0B/s|http://host/image3_A.png17b599|ERR | 0B/s|http://host/image3_B.pngd9f5ad|ERR | 0B/s|http://host/image3_C.png当你遇到一些网络连接问题或者系统问题的时候,并将要下载一个大文件(例如: ISO 镜像文件),我建议你使用 -c 选项,它可以帮助我们从该状态续传未完成的下载,并且像往常一样完成。不然的话,当你再次下载,它将会初始化新的下载,并保存成一个不同的文件名(自动的在文件名后面添加 .1 )。注意:如果出现了任何中断,aria2 使用 .aria2 后缀保存(未完成的)文件。
# aria2c -c http://download.owncloud.org/community/owncloud-9.0.0.tar.bz2^C03/22 10:09:26 Shutdown sequence commencing... Press Ctrl-C again for emergency shutdown.03/22 10:09:26 Download GID#db0b08bf55d5908d not complete: /opt/owncloud-9.0.0.tar.bz2Download Results:gid |stat|avg speed |path/URIdb0b08|INPR| 3.3MiB/s|/opt/owncloud-9.0.0.tar.bz2Status Legend:(INPR):download in-progress.如果重新启动传输,aria2 将会恢复下载。# aria2c -c http://download.owncloud.org/community/owncloud-9.0.0.tar.bz203/22 10:09:57 Download complete: /opt/owncloud-9.0.0.tar.bz2Download Results:gid |stat|avg speed |path/URI873d08|OK | 1.9MiB/s|/opt/owncloud-9.0.0.tar.bz2Status Legend:(OK):download completed.就像 wget 可以从一个文件获取输入的 URL 列表来下载一样。我们需要创建一个文件,将每一个 URL 存储在单独的行中。aria2 命令行可以添加 -i 选项来执行此操作。
# aria2c -i test-aria2.txt03/22 10:14:22 Download complete: /opt/wget-1.17.tar.gz03/22 10:14:30 Download complete: /opt/owncloud-9.0.0.tar.bz2Download Results:gid |stat|avg speed |path/URI673c8e|OK | 4.3MiB/s|/opt/wget-1.17.tar.gzb97984|OK | 2.5MiB/s|/opt/owncloud-9.0.0.tar.bz2Status Legend:(OK):download completed.默认情况,每次下载连接到一台服务器的最大数目,对于一条主机只能建立一条。我们可以通过 aria2 命令行添加 -x2(2 表示两个连接)来创建到每台主机的多个连接,以加快下载速度。
# aria2c -x2 http://download.owncloud.org/community/owncloud-9.0.0.tar.bz203/22 10:16:27 Download complete: /opt/owncloud-9.0.0.tar.bz2Download Results:gid |stat|avg speed |path/URIddd4cd|OK | 5.5MiB/s|/opt/owncloud-9.0.0.tar.bz2Status Legend:(OK):download completed.我们可以使用 aria2 命令行直接下载一个 BitTorrent 种子文件:
# aria2c http://torcache.net/torrent/C86F4E743253E0EBF3090CCFFCC9B56FA38451A3.torrent?title=irudhi.suttru.2015.official.teaser.full.hd.1080p.pathi.team.sr03/22 20:06:14 Download complete: /opt/irudhi.suttru.2015.official.teaser.full.hd.1080p.pathi.team.sr.torrent03/22 20:06:14 Exception caughtException: errorCode=25 Could not parse BitTorrent metainfoDownload Results:gid |stat|avg speed |path/URI388321|OK | 11MiB/s|/opt/irudhi.suttru.2015.official.teaser.full.hd.1080p.pathi.team.sr.torrentStatus Legend:(OK):download completed.使用 aria2 我们也可以通过 BitTorrent 磁力链接直接下载一个种子文件:
# aria2c 'magnet:?xt=urn:btih:248D0A1CD08284299DE78D5C1ED359BB46717D8C'我们也可以通过 aria2 命令行直接下载一个 Metalink 文件。
# aria2c http://curl.haxx.se/metalink.cgi?curl=tar.bz2或者,我们也可以从一个密码保护网站下载一个文件。下面的命令行将会从一个密码保护网站中下载文件。
# aria2c --http-user=xxx --http-password=xxx http://download.owncloud.org/community/owncloud-9.0.0.tar.bz2# aria2c --ftp-user=xxx --ftp-password=xxx ftp://ftp.gnu.org/gnu/wget/wget-1.17.tar.gz## 全局设置 ## 日志#log-level=warn#log=/PATH/.aria2/aria2.log# 后台运行daemon=true# 下载位置, 默认: 当前启动位置dir=/PATH/Downloads# 从会话文件中读取下载任务input-file=/PATH/.aria2/aria2.session# 在Aria2退出时保存`错误/未完成`的下载任务到会话文件save-session=/PATH/.aria2/aria2.session# 定时保存会话, 0为退出时才保存, 需1.16.1以上版本, 默认:0save-session-interval=30# 断点续传continue=true# 启用磁盘缓存, 0为禁用缓存, 需1.16以上版本, 默认:16M#disk-cache=32M# 文件预分配方式, 能有效降低磁盘碎片, 默认:prealloc# 预分配所需时间: none < falloc ? trunc < prealloc# falloc和trunc则需要文件系统和内核支持# NTFS建议使用falloc, EXT3/4建议trunc, MAC 下需要注释此项file-allocation=none# 客户端伪装user-agent=netdisk;5.2.6;PC;PC-Windows;6.2.9200;WindowsBaiduYunGuanJiareferer=http://pan.baidu.com/disk/home# 禁用IPv6, 默认:falsedisable-ipv6=true# 其他always-resume=truecheck-integrity=true## 下载位置 ## 最大同时下载任务数, 运行时可修改, 默认:5max-concurrent-downloads=5# 同一服务器连接数, 添加时可指定, 默认:1max-connection-per-server=5# 最小文件分片大小, 添加时可指定, 取值范围1M -1024M, 默认:20M# 假定size=10M, 文件为20MiB 则使用两个来源下载; 文件为15MiB 则使用一个来源下载min-split-size=10M# 单个任务最大线程数, 添加时可指定, 默认:5split=5# 整体下载速度限制, 运行时可修改, 默认:0#max-overall-download-limit=0# 单个任务下载速度限制, 默认:0#max-download-limit=0# 整体上传速度限制, 运行时可修改, 默认:0#max-overall-upload-limit=0# 单个任务上传速度限制, 默认:0#max-upload-limit=0## RPC设置 ## 启用RPC, 默认:falseenable-rpc=true# 允许所有来源, 默认:falserpc-allow-origin-all=true# 允许非外部访问, 默认:falserpc-listen-all=true# 事件轮询方式, 取值:, 不同系统默认值不同#event-poll=select# RPC监听端口, 端口被占用时可以修改, 默认:6800rpc-listen-port=6800# 设置的RPC授权令牌, v1.18.4新增功能, 取代 --rpc-user 和 --rpc-passwd 选项#rpc-secret=# 是否启用 RPC 服务的 SSL/TLS 加密,# 启用加密后 RPC 服务需要使用 https 或者 wss 协议连接#rpc-secure=true# 在 RPC 服务中启用 SSL/TLS 加密时的证书文件,# 使用 PEM 格式时,您必须通过 --rpc-private-key 指定私钥#rpc-certificate=/path/to/certificate.pem# 在 RPC 服务中启用 SSL/TLS 加密时的私钥文件#rpc-private-key=/path/to/certificate.key## BT/PT下载相关 ## 当下载的是一个种子(以.torrent结尾)时, 自动开始BT任务, 默认:true#follow-torrent=true# BT监听端口, 当端口被屏蔽时使用, 默认:6881-6999listen-port=51413# 单个种子最大连接数, 默认:55#bt-max-peers=55# 打开DHT功能, PT需要禁用, 默认:trueenable-dht=false# 打开IPv6 DHT功能, PT需要禁用#enable-dht6=false# DHT网络监听端口, 默认:6881-6999#dht-listen-port=6881-6999dht-file-path=/opt/var/aria2/dht.datdht-file-path6=/opt/var/aria2/dht6.dat# 本地节点查找, PT需要禁用, 默认:false#bt-enable-lpd=false# 种子交换, PT需要禁用, 默认:trueenable-peer-exchange=false# 每个种子限速, 对少种的PT很有用, 默认:50K#bt-request-peer-speed-limit=50K# 设置 peer id 前缀peer-id-prefix=-TR2770-# 当种子的分享率达到这个数时, 自动停止做种, 0为一直做种, 默认:1.0seed-ratio=0# 强制保存会话, 即使任务已经完成, 默认:false# 较新的版本开启后会在任务完成后依然保留.aria2文件#force-save=false# BT校验相关, 默认:true#bt-hash-check-seed=true# 继续之前的BT任务时, 无需再次校验, 默认:falsebt-seed-unverified=true# 保存磁力链接元数据为种子文件(.torrent文件), 默认:falsebt-save-metadata=truebt-max-open-files=16
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表