Axel – Linux 的命令行文件下載加速器

如果你是那種喜歡下載並嘗試幾種 Linux 發行版的人,我們相信你會對一個能言善道、言行一致的下載加速器感到樂意——一個能做到其描述所說的事情。

在這篇指南中,我們將向你介紹 Axel,這是一個輕量級的 wget 克隆,它沒有其他依賴(除了 gcc 和 makeutils)。

Axel – Linux Commandline Download Accelerator

儘管它的描述說它特別適合於位元關鍵系統,axel 可以安裝在任何地方,並且不僅可以同時通過 HTTP/FTP 鏈接下載多個文件,還可以加快下載速度。

安裝 Axel,一個 Linux 命令行下載加速器正如我們之前提到的,axel 不僅僅是另一個下載工具。它通過使用多個連接從目的地檢索文件來加速 HTTP 和 FTP 下載,還可以配置為使用多個鏡像。

如我們之前所提,axel不僅僅是另一個下載工具。它透過使用多個連接從目的地檢索檔案來加速HTTPFTP下載,並且也可以配置為使用多個鏡像。

如果這還不足以激勵你嘗試它,讓我們再補充一點,axel支援自動中止和恢復在給定時間內無響應或未返回任何數據的連接。

此外,如果你有權限這樣做,你可以利用axel打開多個同時的FTP連接到一個伺服器,以便將每個連接的頻寬倍增。

如果你不被允許這樣做或不確定,你可以改為打開多個連接到不同的伺服器,並同時從所有這些伺服器下載。

最後但並非最不重要的是,axel與其他Linux下載加速器不同,它在下載時將所有數據放入一個單一檔案中,而不是將數據寫入單獨的檔案並在稍後階段將它們合併。

CentOS/RHEL8/7中,你需要啟用EPEL儲存庫才能安裝axel:

# yum install epel-release
# yum install axel

在Fedora中,它從默認儲存庫中可用。

# yum install axel   
# dnf install axel   [On Fedora 23+ releases]

Debian及其衍生版本,如UbuntuLinux Mint中,您可以直接使用aptitude安裝axel

# aptitude install axel

Arch Linux及其相關發行版,如Manjaro LinuxOpenSUSE Linux中,您可以直接安裝axel

$ sudo pacman -S axel       [On Arch/Manjaro]
$ sudo zypper install axel  [On OpenSUSE]

一旦安裝了axel,讓我們全力以赴。

配置Axel– Linux下載加速器

您可以使用/etc/axelrc配置axel,並在調用時在命令行中傳遞進一步所需的選項。配置文件有很好的文檔記錄,但我們將在此回顧最有用的選項:

reconnect_delay是axel在嘗試重新連接到服務器之前等待的秒數。

max_speed不言自明。值以每秒字節數(B/s)給出。在考慮您的可用帶寬後,您可能希望將此變量設置為適當的值。這將幫助您防止axel在下載時消耗大量帶寬。

重要:請注意,實際的最大下載速率將取決於您的互聯網連接–不言而喻,將max_speed設置為5 MB/s將不會有任何作用,如果您的互聯網連接最大速率為1.22 MB/s(正如我在下面的例子中所看到的–我只是保留了那個值來強調這一點)。

num_connections代表 axel將嘗試啟動的最大連接數。建議值 (4)對大多數情況已足夠,主要是基於對其他 FTP用戶的尊重。請注意,某些伺服器可能甚至不允許多個連接。

connection_timeout表示 axel在嘗試自動中止並恢復之前將等待接收回應的秒數。

http_proxy允許您設置代理伺服器,以防 HTTP_PROXY環境變數未在系統範圍內設置。此變數使用與 HTTP_PROXY相同的格式 (http://:PORT)。

no_proxy是一個本地域名列表,以逗號分隔,axel不應該通過代理嘗試到達這些域名。此設置是可選的。

buffer_size表示一次從所有當前連接讀取的最大數量,以字節為單位。

verbose允許您選擇是否將與下載相關的消息打印在屏幕上。如果想要禁用它,請將此設置為0,或者如果仍然想要看到消息,則設置為1。

interfaces允許您列出可以訪問互聯網的網絡接口,如果您有多個接口。如果未明確設置,axel將使用路由表中的第一個接口。

類似的配置選項可從以下位置獲得:

# axel --help

如果您仔細觀察,您會發現大多數命令行選項與配置文件中的選項相似。此外,-o (–output)選項允許您指定輸出文件名。

如果使用,它將覆蓋源文件名。如果您設置任何命令行選項,它們將覆蓋配置文件中設置的選項。

如何在Linux中使用Axel更快地下載文件

我們將從配置文件中使用以下設置(取消註釋相應的行):

reconnect_delay = 20
max_speed = 500000
num_connections = 4
connection_timeout = 30
buffer_size = 10240
verbose = 1
Configuring Axel Download Accelerator

現在,我們將比較使用HTTPFTP鏈接以及wgetaxel100 MB文件的下載時間,這些文件可從:

  1. ftp://speedtest:[email protected]/test100Mb.db
  2. http://speedtest.ftp.otenet.gr/files/test100Mb.db

比較FTP和Axel下載時間

使用wget的FTP下載(平均459 KB/s):
# wget ftp://speedtest:[email protected]/test100Mb.db
Download Files with FTP in Linux Using Wget
使用axel的FTP下載(平均1181.43 KB/s):
# axel -n 10 --output=axel-test100Mb.db ftp://speedtest:[email protected]/test100Mb.db
Download Files Over FTP Using Axel

比較HTTP和Axel下載時間

使用wget的HTTP下載(平均482 KB/s):
# wget http://speedtest.ftp.otenet.gr/files/test100Mb.db
Download Files Using HTTP with Wget
使用axel的HTTP下載(平均1178.93 KB/s):
# axel -n 10 --output=axel-test100Mb.db http://speedtest.ftp.otenet.gr/files/test100Mb.db
Download Files Over HTTP Using Axel

正如您在上面的測試結果中所見,axel可以顯著加速FTPHTTP下載。

總結

在本文中,我們已經解釋了如何使用axel,一個FTP / HTTP下載加速器,並展示了它比其他程序如wget表現得更快,因為它能夠同時打開多個連接到遠程服務器。

不容錯過: 5個最流行的下載管理器為您的Linux系統

不容錯過: 10個Wget(Linux文件下載器)命令示例在Linux中

我們希望這裡展示的內容能激勵您嘗試axel。如果您對本文有任何問題或評論,請隨時使用下面的表格告訴我們。我們總是期待收到讀者的反饋。

Source:
https://www.tecmint.com/axel-commandline-download-accelerator-for-linux/