你好,我是 EarlGrey,喜欢翻译点东西,偶尔写写代码。
点击下方卡片关注我,一起向上进击,提升自我。后台回复关键词“电子书”,送你一份我收藏的电子书合集。
作者:Escapehttps://www.escapelife.site/posts/7a3b6469.htmlaria2 是一款轻量且高效的命令行下载工具。堪称下载利器!
介绍说明
轻量、高效、命令行
aria2
是一款轻量且高效命令行下载工具,它提供了对多协议和多源地址的支持,并尝试将下载带宽利用率最大化,目前支持的协议包括HTTP(S)
、FTP
、BitTorrent
(DHT, PEX, MSE/PE) 和 Metalink
。通过 Metalink
的分块检查,aria2
可以在下载过程中自动的进行数据校验。
虽然现在有诸如 wget
和 curl
等其他类似产品,但 aria2
具有两个独特的功能,那就是可以并发的进行对多协议下载的支持和多个源地址的下载。这样用户将不必等待单个文件的下载完成,而且 aria2
会尽可能快的下载。
# Ubuntu
$ sudo apt-get install aria2
# CentOS
$ sudo yum install aria2
除 aria2
外,也有一些可以进行分片下载的工具,它们往往按照线程数分割文件,之后再并行下载。这就意味着,它们不会对未完成的部分进行自适应性重新分片。当整个流程工作正常时,这个策略是可行的;但一旦存在一个线程运行非常慢时,这样整个进程就需要等待该线程执行完成。而 aria2
就可以很好的处理这个情况,它将文件分割成 1M
大小的分片,当某个线程运行特别缓慢时,使用更快的线程来替换它进行下载。总之,aria2
是非常智能和可靠的。
当源地址存在诸如 &
或 *
等其他特殊字符时,请使用单引号或者双引号将 URL
包含起来。另外,如果你忘记了这些参数的全名或者含义,把 -h
放在选项或者词的前面,这样 aria2
就会搜索相关的选项并把他的帮助打印出来。
~ » aria2c -hconnection
Usage: aria2c [OPTIONS] [URI | MAGNET | TORRENT_FILE | METALINK_FILE]...
Printing options whose name includes 'connection'.
Options:
-x, --max-connection-per-server=NUM The maximum number of connections to one
server for each download.
Possible Values: 1-16
Default: 1
Tags: #basic, #http, #ftp
--ftp-reuse-connection[=true|false] Reuse connection in FTP.
Possible Values: true, false
Default: true
Tags: #ftp
Refer to man page for more information.
简单使用
官方文档地址:https://aria2.github.io/manual/en/html/index.html
下载单个文件
$ aria2c "https://www.escapelife.site/"
02/18 15:40:03 [NOTICE] Downloading 1 item(s)
[#e5cd7f 16KiB/46KiB(34%) CN:1 DL:17KiB ETA:1s]
02/18 15:40:06 [NOTICE] Download complete: /Users/escape/MissSun/py3neovim/index.html
Download Results:
gid |stat|avg speed |path/URI
======+====+===========+=======================================================
e5cd7f|OK | 26KiB/s|/Users/escape/MissSun/py3neovim/index.html
Status Legend:
(OK):download completed.
下载多个文件(-Z
)
$ aria2c -Z "https://www.escapelife.site/" "https://www.escapelife.site/"
Download Results:
gid |stat|avg speed |path/URI
======+====+===========+=======================================================
4d0d71|OK | 128KiB/s|/Users/escape/MissSun/py3neovim/index.html
ea8d19|OK | 45KiB/s|/Users/escape/MissSun/py3neovim/index.1.html
扩展下载地址(-P
)
bash
$ aria2c -Z -P "https://www.escapelife.site/image{1,2,3}_{A,B,C}.png"
指定文保存名称(-o
)
$ aria2c -o index.html "https://www.escapelife.site/"
断电续传(-c
)
$ aria2c -c "https://www.escapelife.site/"
分段下载(-x
)
$ aria2c -x 8 "https://www.escapelife.site/"
设置下载文件的最大并行进程数(-s
)
$ aria2c -s 8 "https://www.escapelife.site/"
设置下载项目的最大并行下载数(-j
)
$ aria2c -Z -j 8 "https://www.escapelife.site/" "https://www.escapelife.site/"
从文件获取输入下载地址(-i
)
$ aria2c -i download_movies_list.txt
下载到指定文件夹下(-d
)
$ aria2c -d /home/escape "https://www.escapelife.site/"
下载速度限制(--max-download-limit
)
$ aria2c --max-download-limit=500k "https://www.escapelife.site/"
高级操作
参考文档地址:https://juejin.im/post/5b20006f5188257d831e3dd0
下载 BitTorrent 种子文件
$ aria2c "https://www.escapelife.site/Dragon.torrent"
下载 BitTorrent 磁力链接
$ aria2c "magnet:?xt=urn:btih:248D0A1CD082XXXXX8D5C717D8C"
列出磁力链地址的下载内容(-S
)
$ aria2c -S "https://www.escapelife.site/Dragon.torrent"
指定索引来下载磁力链文件内容(--select-file=<INDEX>...
)
$ aria2c --select-file=1,3 "https://www.escapelife.site/Dragon.torrent"
$ aria2c --select-file=1-3,5 "https://www.escapelife.site/Dragon.torrent"
***
我创建了一个同名知识星球,目前会在星球内连载发布国外名家的文章和书籍,近期已更新了《埃里克叔叔谈个人成功的模型》前6章。星球和公众号内的所有翻译文章,均为个人学习使用,请勿用于商业用途。
后面我还会陆续增加其他内容和服务,欢迎大家监督和关注。
- EOF -
推荐阅读 点击标题可跳转
4、高效的终极秘诀