aria2 (命令行下載器)實例

2021-02-18 Linux中國

aria2[1] 是一個自由、開源、輕量級多協議和多源的命令行下載工具。它支持 HTTP/HTTPS、FTP、SFTP、 BitTorrent 和 Metalink 協議。aria2 可以通過內建的 JSON-RPC 和 XML-RPC 接口來操縱。aria2 下載文件的時候,自動驗證數據塊。它可以通過多個來源或者多個協議下載一個文件,並且會嘗試利用你的最大下載帶寬。默認情況下,所有的 Linux 發行版都包括 aria2,所以我們可以從官方庫中很容易的安裝。一些 GUI 下載管理器例如 uget[2] 使用 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

我們可以很容易的在所有的 Linux 發行版上安裝 aria2 命令行下載器,例如 Debian、 Ubuntu、 Mint、 RHEL、 CentOS、 Fedora、 suse、 openSUSE、 Arch Linux、 Manjaro、 Mageia 等等……只需要輸入下面的命令安裝即可。對於 CentOS、 RHEL 系統,我們需要開啟 uget[3] 或者 RPMForge[4] 庫的支持。

[對於 Debian、 Ubuntu 和 Mint]

$ sudo apt-get install aria2

[對於 CentOS、 RHEL、 Fedora 21 和更早些的作業系統]

# yum install aria2

[Fedora 22 和 之後的系統]

# dnf install aria2

[對於 suse 和 openSUSE]

# zypper install wget

[Mageia]

# urpmi aria2

[對於 Arch Linux]

$ sudo pacman -S aria2

2) 下載單個文件

下面的命令將會從指定的 URL 中下載一個文件,並且保存在當前目錄,在下載文件的過程中,我們可以看到文件的(日期、時間、下載速度和下載進度)。

# 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) 使用不同的名字保存文件

在初始化下載的時候,我們可以使用 -o(小寫)選項在保存文件的時候使用不同的名字。這兒我們將要使用 owncloud.zip 文件名來保存文件。

# 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) 下載速度限制

默認情況下,aria2 會利用全部帶寬來下載文件,在文件下載完成之前,我們在伺服器就什麼也做不了(這將會影響其他服務訪問帶寬)。所以在下載大文件時最好使用 –max-download-limit 選項來避免進一步的問題。

# 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) 下載多個文件

下面的命令將會從指定位置下載超過一個的文件並保存到當前目錄,在下載文件的過程中,我們可以看到文件的(日期、時間、下載速度和下載進度)。

# 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) 續傳未完成的下載

當你遇到一些網絡連接問題或者系統問題的時候,並將要下載一個大文件(例如: ISO 鏡像文件),我建議你使用 -c 選項,它可以幫助我們從該狀態續傳未完成的下載,並且像往常一樣完成。不然的話,當你再次下載,它將會初始化新的下載,並保存成一個不同的文件名(自動的在文件名後面添加 .1 )。注意:如果出現了任何中斷,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.

如果重新啟動傳輸,aria2 將會恢復下載。

# 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 可以從一個文件獲取輸入的 URL 列表來下載一樣。我們需要創建一個文件,將每一個 URL 存儲在單獨的行中。ara2 命令行可以添加 -i 選項來執行此操作。

# 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) 每個主機使用兩個連接來下載

默認情況,每次下載連接到一臺伺服器的最大數目,對於一條主機只能建立一條。我們可以通過 aria2 命令行添加 -x2(2 表示兩個連接)來創建到每臺主機的多個連接,以加快下載速度。

# 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 命令行直接下載一個 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 我們也可以通過 BitTorrent 磁力連結直接下載一個種子文件:

# aria2c 'magnet:?xt=urn:btih:248D0A1CD08284299DE78D5C1ED359BB46717D8C'

11) 下載 BitTorrent Metalink 種子

我們也可以通過 aria2 命令行直接下載一個 Metalink 文件。

# aria2c https://curl.haxx.se/metalink.cgi?curl=tar.bz2

12) 從密碼保護的網站下載一個文件

或者,我們也可以從一個密碼保護網站下載一個文件。下面的命令行將會從一個密碼保護網站中下載文件。

# 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) 閱讀更多關於 aria2

如果你希望了解了解更多選項 —— 它們同時適用於 wget,可以輸入下面的命令行在你自己的終端獲取詳細信息:

# man aria2c

or

# aria2c --help

謝謝欣賞 …)

via: http://www.2daygeek.com/aria2-command-line-download-utility-tool/

作者:MAGESH MARUTHAMUTHU[5] 譯者:yangmingming 校對:wxy

本文由 LCTT[6] 原創編譯,Linux中國 榮譽推出

[1]: https://aria2.github.io/
[2]: http://www.2daygeek.com/install-uget-download-manager-on-ubuntu-centos-debian-fedora-mint-rhel-opensuse/
[3]: http://www.2daygeek.com/aria2-command-line-download-utility-tool/
[4]: http://www.2daygeek.com/aria2-command-line-download-utility-tool/
[5]: http://www.2daygeek.com/author/magesh/
[6]: https://github.com/LCTT/TranslateProject

相關焦點

  • 4 個 Linux 下最好的命令行下載管理器/加速器
    我們都想要一個超級快速的下載管理器來完成下載儘可能多的任務,以便我們可以節省時間來進一步地工作。有很多可以加速下載的下載管理器和加速器可用(圖形化界面和命令行界面)。所有的下載工具做著同樣的任務,但它們的處理方式和功能是不同的,比如,單線程和多線程、交互和非交互。 在這裡,我們將列出 4 個最好的我們日常工作使用的命令行下載加速器。
  • 黑客乾貨|命令行/終端下載指令大全
    apt-get install axal直接下載:axel http://www.sample-videos.com/video/mp4/big.mp42.4 Aria2這是一種開源命令行下載加速器,支持多個埠,你可以使用最大帶寬來下載文件,是一款易於安裝、易於使用的工具。
  • 使用 Axel 命令行下載器/加速器加速下載
    它也可以使用多個鏡像站點下載單個文件,所以,Axel 可以加速下載高達 40%(大約,我個人認為)。它非常輕量級,因為它沒有依賴並且使用非常少的 CPU 和內存。Axel 一步到位地將所有數據直接下載到目標文件(LCTT 譯註:而不是像其它的下載軟體那樣下載成多個文件塊,然後拼接)。注意:不支持在單條命令中下載兩個文件。
  • HTTPie:替代 Curl 和 Wget 的現代 HTTP 命令行客戶端 | Linux 中國
    大多數時間我們會使用 curl 命令或是 wget 命令下載文件或者做其他事。我們以前曾寫過 最佳命令行下載管理器[1] 的文章。你可以點擊相應的 URL 連接來瀏覽這些文章。◈ aria2 – Linux 下的多協議命令行下載工具[2]◈ Axel – Linux 下的輕量級命令行下載加速器[3]◈ Wget – Linux 下的標準命令行下載工具[4]◈ curl – Linux 下的實用的命令行下載工具[5]今天我們將討論同樣的話題。這個實用程序名為 HTTPie。
  • 【玩家投稿】樹莓派4廉價DNS緩存+NAS+aria2下載方案
    ,aria2是一個開源免費的下載工具,由於沒有圖形界面,下載全靠指令,但不可能我們每次下載都要靠指令對吧,所以就有了很多方便下載的方法。安裝aria2:[root@hostfist ~]# yum install aria2 -y然後創建aria2需要的目錄和文件:[root@hostfist ~]# mkdir /etc/aria2[root@hostfist ~]# touch /etc/aria2/aria2.session[root@hostfist
  • 如何在命令行中使用 ftp 命令上傳和下載文件
    儘管現在有許多不錯的 FTP 桌面應用,但是在伺服器、SSH、遠程會話中命令行 ftp 命令還是有很多應用的。比如。需要伺服器從 ftp 倉庫拉取備份。FTP 登錄步驟 2: 使用用戶名密碼登錄絕大多數的 FTP 伺服器是使用密碼保護的,因此這些 FTP 伺服器會詢問'username'和'password'.
  • 面板模型的 Stata 命令及實例
    面板模型的 Stata 命令及實例1.面板數據的設定設定面板數據的 Stata 命令為
  • 學習Linux操作的第一步,你需要知道這些命令行!
    1.1.2 命令行針對結果命令行界面沒有圖形界面煩瑣的「下一步」之類的操作,直接返回結果,乾淨利落。下面的代碼演示了查看當前登錄伺服器主機用戶是誰,命令直接給出執行結果,即當前登錄的用戶是root,簡單明了。
  • windows的命令行打開的幾種方式及命令大全(收藏備用)
    Linux是基於命令行的,windows也有一套基於命令行的工作模式,不過windows的命令行比較雞肋,對於一般用戶來講用的不多,今天筆者介紹一下打開命令行的三種方式。第一種,使用「win+R」的方式打開。在鍵盤上同時按「win和r」會彈出一個運行窗口,輸入cmd,就會彈出一個命令行頁面。
  • Internet Download Manager IDM---最好用的PC下載器
    IDM無縫集成到Microsoft Internet Explorer,Netscape,MSN Explorer,AOL,Opera,Mozilla,Mozilla Firefox,Mozilla Firebird,Avant Browser,MyIE2以及所有其他流行瀏覽器中,以自動處理您的下載。您也可以拖放文件,或從命令行使用Internet Download Manager。
  • 【乾貨】快速上手圖像識別:用TensorFlow API實現圖像分類實例
    作者通過TensorFlow API快捷地實現一個命令行圖像分類例子,詳細介紹了如何按步驟下載模型、加載圖像、執行圖像識別命令。你不需要GPU,只要有一臺筆記本就可以按照作者的步驟進行操作,並最終完成圖像識別任務。教程非常方便快捷,讀完本文之後相信你能秒秒鐘實現一個圖像分類任務。專知內容組編輯整理。
  • Linux 中 head 命令實例
    head命令將每個文件的前10行列印到標準輸出。對於多個文件,在每個文件前面加上一個給出文件名的頭。
  • 全新 Windows Terminal 命令行安裝包下載 - 微軟引誘高手們叛逃 Mac 的利器
    Windows Terminal 是微軟為 Win 10 作業系統打造的全新且超級強大的命令行終端工具。這款命令行原生支持 PowerShell、CMD 以及 WSL (Windows 內置 Linux 子系統) 。
  • IDM下載器 v6.33.2中文已註冊破解版
    本次為大家帶來的是IDM下載器破解版,安裝完成之後,打開軟體即是中文,且已完成註冊,可以免費放心使用,有需要的朋友可以下載試試。軟體名:IDM下載器 v6.33.2中文已註冊破解版下載地址:公眾號回復021
  • FFmpeg常用命令行
    本文收集記錄了筆者使用過的FFmpeg命令,親測可用,並不是簡單的copy別人的FFmpeg大全,下面的命令大部分都是本人測試成功過的
  • Linux中,tail命令的使用實例
    tail命令將每個文件的最後10行列印到標準輸出。對於多個文件,在每個文件前面加上一個給出文件名的頭。
  • Linux的30 個實例詳解 TOP 命令!
    第二行顯示的是任務或者進程的總結。進程可以處於不同的狀態。這裡顯示了全部進程的數量。接下來兩行顯示內存使用率,有點像』free』命令。第一行是物理內存使用,第二行是虛擬內存使用(交換空間)。2.8 『R』: 反向排序切換反向/常規排序。2.9 『c』: 觸發命令切換是否顯示進程啟動時的完整路徑和程序名。
  • 還在擔心衛星遙感影像數據下載的問題麼?誠心奉獻Sentinel哨兵數據高速下載方法(適用於其它衛星數據下載)
    在第一部分,在簡要介紹哨兵影像數據的概況之後,以Sentinel-2數據為例,介紹如何通過ESA的API hub查詢指定地理空間範圍的Sentinel-2影像數據。在第二部分介紹如何通過通過配置aria2下載工具下載查詢到的Sentinel-2影像數據,重點介紹python守護進程用於監控和管理aria2工具的重啟。
  • KITT-Lite:基於Python實現的輕量級命令行滲透測試工具集
    KITT滲透測試框架-輕量級版本KITT滲透測試框架是一種基於Python實現的輕量級命令行滲透測試工具集,本質上上來說,它就是一個針對滲透測試人員設計的開源解決方案