命令行下載工具aria2應(yīng)用實(shí)例
aria2 是一個(gè)自由、開源、輕量級(jí)多協(xié)議和多源的命令行下載工具。它支持 HTTP/HTTPS、FTP、SFTP、 BitTorrent 和 Metalink 協(xié)議。aria2 可以通過(guò)內(nèi)建的 JSON-RPC 和 XML-RPC 接口來(lái)操縱。aria2 下載文件的時(shí)候,自動(dòng)驗(yàn)證數(shù)據(jù)塊。它可以通過(guò)多個(gè)來(lái)源或者多個(gè)協(xié)議下載一個(gè)文件,并且會(huì)嘗試?yán)媚愕?**下載帶寬。默認(rèn)情況下,所有的 Linux 發(fā)行版都包括 aria2,所以我們可以從官方庫(kù)中很容易的安裝。一些 GUI 下載管理器例如 uget 使用 aria2 作為插件來(lái)提高下載速度。
Aria2 特性
- 支持 HTTP/HTTPS GET
- 支持 HTTP 代理
- 支持 HTTP BASIC 認(rèn)證
- 支持 HTTP 代理認(rèn)證
- 支持 FTP (主動(dòng)、被動(dòng)模式)
- 通過(guò) HTTP 代理的 FTP(GET 命令行或者隧道)
- 分段下載
- 支持 Cookie
- 可以作為守護(hù)進(jìn)程運(yùn)行。
- 支持使用 fast 擴(kuò)展的 BitTorrent 協(xié)議
- 支持在多文件 torrent 中選擇文件
- 支持 Metalink 3.0 版本(HTTP/FTP/BitTorrent)
- 限制下載、上傳速度
1) Linux 下安裝 aria2
我們可以很容易的在所有的 Linux 發(fā)行版上安裝 aria2 命令行下載器,例如 Debian、 Ubuntu、 Mint、 RHEL、 CentOS、 Fedora、 suse、 openSUSE、 Arch Linux、 Manjaro、 Mageia 等等……只需要輸入下面的命令安裝即可。對(duì)于 CentOS、 RHEL 系統(tǒng),我們需要開啟 uget 或者 RPMForge 庫(kù)的支持。
- [對(duì)于 Debian、 Ubuntu 和 Mint]
- $ sudo apt-get install aria2
- [對(duì)于 CentOS、 RHEL、 Fedora 21 和更早些的操作系統(tǒng)]
- # yum install aria2
- [Fedora 22 和 之后的系統(tǒng)]
- # dnf install aria2
- [對(duì)于 suse 和 openSUSE]
- # zypper install wget
- [Mageia]
- # urpmi aria2
- [對(duì)于 Arch Linux]
- $ sudo pacman -S aria2
2) 下載單個(gè)文件
下面的命令將會(huì)從指定的 URL 中下載一個(gè)文件,并且保存在當(dāng)前目錄,在下載文件的過(guò)程中,我們可以看到文件的(日期、時(shí)間、下載速度和下載進(jìn)度)。
- # aria2c https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
- [#986c80 19MiB/21MiB(90%) CN:1 DL:3.0MiB]
- 03/22 09:49:13 [NOTICE] Download complete: /opt/owncloud-9.0.0.tar.bz2
- Download Results:
- gid |stat|avg speed |path/URI
- ======+====+===========+=======================================================
- 986c80|OK | 3.0MiB/s|/opt/owncloud-9.0.0.tar.bz2
- Status Legend:
- (OK):download completed.
3) 使用不同的名字保存文件
在初始化下載的時(shí)候,我們可以使用 -o(小寫)選項(xiàng)在保存文件的時(shí)候使用不同的名字。這兒我們將要使用 owncloud.zip 文件名來(lái)保存文件。
- # aria2c -o owncloud.zip https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
- [#d31304 16MiB/21MiB(74%) CN:1 DL:6.2MiB]
- 03/22 09:51:02 [NOTICE] Download complete: /opt/owncloud.zip
- Download Results:
- gid |stat|avg speed |path/URI
- ======+====+===========+=======================================================
- d31304|OK | 7.3MiB/s|/opt/owncloud.zip
- Status Legend:
- (OK):download completed.
4) 下載速度限制
默認(rèn)情況下,aria2 會(huì)利用全部帶寬來(lái)下載文件,在文件下載完成之前,我們?cè)诜?wù)器就什么也做不了(這將會(huì)影響其他服務(wù)訪問(wèn)帶寬)。所以在下載大文件時(shí)***使用 –max-download-limit 選項(xiàng)來(lái)避免進(jìn)一步的問(wèn)題。
- # aria2c --max-download-limit=500k https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
- [#7f9fbf 21MiB/21MiB(99%) CN:1 DL:466KiB]
- 03/22 09:54:51 [NOTICE] Download complete: /opt/owncloud-9.0.0.tar.bz2
- Download Results:
- gid |stat|avg speed |path/URI
- ======+====+===========+=======================================================
- 7f9fbf|OK | 462KiB/s|/opt/owncloud-9.0.0.tar.bz2
- Status Legend:
- (OK):download completed.
5) 下載多個(gè)文件
下面的命令將會(huì)從指定位置下載超過(guò)一個(gè)的文件并保存到當(dāng)前目錄,在下載文件的過(guò)程中,我們可以看到文件的(日期、時(shí)間、下載速度和下載進(jìn)度)。
- # aria2c -Z https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2 ftp://ftp.gnu.org/gnu/wget/wget-1.17.tar.gz
- [DL:1.7MiB][#53533c 272KiB/21MiB(1%)][#b52bb1 768KiB/3.6MiB(20%)]
- 03/22 10:25:54 [NOTICE] Download complete: /opt/wget-1.17.tar.gz
- [#53533c 18MiB/21MiB(86%) CN:1 DL:3.2MiB]
- 03/22 10:25:59 [NOTICE] Download complete: /opt/owncloud-9.0.0.tar.bz2
- Download Results:
- gid |stat|avg speed |path/URI
- ======+====+===========+=======================================================
- b52bb1|OK | 2.8MiB/s|/opt/wget-1.17.tar.gz
- 53533c|OK | 3.4MiB/s|/opt/owncloud-9.0.0.tar.bz2
- Status Legend:
- (OK):download completed.
6) 續(xù)傳未完成的下載
當(dāng)你遇到一些網(wǎng)絡(luò)連接問(wèn)題或者系統(tǒng)問(wèn)題的時(shí)候,并將要下載一個(gè)大文件(例如: ISO 鏡像文件),我建議你使用 -c 選項(xiàng),它可以幫助我們從該狀態(tài)續(xù)傳未完成的下載,并且像往常一樣完成。不然的話,當(dāng)你再次下載,它將會(huì)初始化新的下載,并保存成一個(gè)不同的文件名(自動(dòng)的在文件名后面添加 .1 )。注意:如果出現(xiàn)了任何中斷,aria2 使用 .aria2 后綴保存(未完成的)文件。
- # aria2c -c https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
- [#db0b08 8.2MiB/21MiB(38%) CN:1 DL:3.1MiB ETA:4s]^C
- 03/22 10:09:26 [NOTICE] Shutdown sequence commencing... Press Ctrl-C again for emergency shutdown.
- 03/22 10:09:26 [NOTICE] Download GID#db0b08bf55d5908d not complete: /opt/owncloud-9.0.0.tar.bz2
- Download Results:
- gid |stat|avg speed |path/URI
- ======+====+===========+=======================================================
- db0b08|INPR| 3.3MiB/s|/opt/owncloud-9.0.0.tar.bz2
- Status Legend:
- (INPR):download in-progress.
- 如果重新啟動(dòng)傳輸,aria2 將會(huì)恢復(fù)下載。
- # aria2c -c https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
- [#873d08 21MiB/21MiB(98%) CN:1 DL:2.7MiB]
- 03/22 10:09:57 [NOTICE] Download complete: /opt/owncloud-9.0.0.tar.bz2
- Download Results:
- gid |stat|avg speed |path/URI
- ======+====+===========+=======================================================
- 873d08|OK | 1.9MiB/s|/opt/owncloud-9.0.0.tar.bz2
- Status Legend:
- (OK):download completed.
7) 從文件獲取輸入
就像 wget 可以從一個(gè)文件獲取輸入的 URL 列表來(lái)下載一樣。我們需要?jiǎng)?chuàng)建一個(gè)文件,將每一個(gè) URL 存儲(chǔ)在單獨(dú)的行中。ara2 命令行可以添加 -i 選項(xiàng)來(lái)執(zhí)行此操作。
- # aria2c -i test-aria2.txt
- [DL:3.9MiB][#b97984 192KiB/21MiB(0%)][#673c8e 2.5MiB/3.6MiB(69%)]
- 03/22 10:14:22 [NOTICE] Download complete: /opt/wget-1.17.tar.gz
- [#b97984 19MiB/21MiB(90%) CN:1 DL:2.5MiB]
- 03/22 10:14:30 [NOTICE] Download complete: /opt/owncloud-9.0.0.tar.bz2
- Download Results:
- gid |stat|avg speed |path/URI
- ======+====+===========+=======================================================
- 673c8e|OK | 4.3MiB/s|/opt/wget-1.17.tar.gz
- b97984|OK | 2.5MiB/s|/opt/owncloud-9.0.0.tar.bz2
- Status Legend:
- (OK):download completed.
8) 每個(gè)主機(jī)使用兩個(gè)連接來(lái)下載
默認(rèn)情況,每次下載連接到一臺(tái)服務(wù)器的***數(shù)目,對(duì)于一條主機(jī)只能建立一條。我們可以通過(guò) aria2 命令行添加 -x2(2 表示兩個(gè)連接)來(lái)創(chuàng)建到每臺(tái)主機(jī)的多個(gè)連接,以加快下載速度。
- # aria2c -x2 https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
- [#ddd4cd 18MiB/21MiB(83%) CN:1 DL:5.0MiB]
- 03/22 10:16:27 [NOTICE] Download complete: /opt/owncloud-9.0.0.tar.bz2
- Download Results:
- gid |stat|avg speed |path/URI
- ======+====+===========+=======================================================
- ddd4cd|OK | 5.5MiB/s|/opt/owncloud-9.0.0.tar.bz2
- Status Legend:
- (OK):download completed.
9) 下載 BitTorrent 種子文件
我們可以使用 aria2 命令行直接下載一個(gè) BitTorrent 種子文件:
- # aria2c https://torcache.net/torrent/C86F4E743253E0EBF3090CCFFCC9B56FA38451A3.torrent?title=[kat.cr]irudhi.suttru.2015.official.teaser.full.hd.1080p.pathi.team.sr
- [#388321 0B/0B CN:1 DL:0B]
- 03/22 20:06:14 [NOTICE] Download complete: /opt/[kat.cr]irudhi.suttru.2015.official.teaser.full.hd.1080p.pathi.team.sr.torrent
- 03/22 20:06:14 [ERROR] Exception caught
- Exception: [BtPostDownloadHandler.cc:98] errorCode=25 Could not parse BitTorrent metainfo
- Download Results:
- gid |stat|avg speed |path/URI
- ======+====+===========+=======================================================
- 388321|OK | 11MiB/s|/opt/[kat.cr]irudhi.suttru.2015.official.teaser.full.hd.1080p.pathi.team.sr.torrent
- Status Legend:
- (OK):download completed.
10) 下載 BitTorrent 磁力鏈接
使用 aria2 我們也可以通過(guò) BitTorrent 磁力鏈接直接下載一個(gè)種子文件:
- # aria2c 'magnet:?xt=urn:btih:248D0A1CD08284299DE78D5C1ED359BB46717D8C'
11) 下載 BitTorrent Metalink 種子
我們也可以通過(guò) aria2 命令行直接下載一個(gè) Metalink 文件。
- # aria2c https://curl.haxx.se/metalink.cgi?curl=tar.bz2
12) 從密碼保護(hù)的網(wǎng)站下載一個(gè)文件
或者,我們也可以從一個(gè)密碼保護(hù)網(wǎng)站下載一個(gè)文件。下面的命令行將會(huì)從一個(gè)密碼保護(hù)網(wǎng)站中下載文件。
- # aria2c --http-user=xxx --http-password=xxx https://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
13) 閱讀更多關(guān)于 aria2
如果你希望了解了解更多選項(xiàng) —— 它們同時(shí)適用于 wget,可以輸入下面的命令行在你自己的終端獲取詳細(xì)信息:
- # man aria2c
- or
- # aria2c --help
謝謝欣賞 …)