如果你是那種喜歡下載並嘗試幾種 Linux 發行版的人,我們相信你會對一個能言善道、言行一致的下載加速器感到樂意——一個能做到其描述所說的事情。
在這篇指南中,我們將向你介紹 Axel,這是一個輕量級的 wget 克隆,它沒有其他依賴(除了 gcc 和 makeutils)。

儘管它的描述說它特別適合於位元關鍵系統,axel 可以安裝在任何地方,並且不僅可以同時通過 HTTP/FTP 鏈接下載多個文件,還可以加快下載速度。
安裝 Axel,一個 Linux 命令行下載加速器 正如我們之前提到的,axel 不僅僅是另一個下載工具。它通過使用多個連接從目的地檢索文件來加速 HTTP 和 FTP 下載,還可以配置為使用多個鏡像。
如我們之前所提,axel不僅僅是另一個下載工具。它透過使用多個連接從目的地檢索檔案來加速HTTP和FTP下載,並且也可以配置為使用多個鏡像。
如果這還不足以激勵你嘗試它,讓我們再補充一點,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及其衍生版本,如Ubuntu和Linux Mint中,您可以直接使用aptitude安裝axel:
# aptitude install axel
在Arch Linux及其相關發行版,如Manjaro Linux和OpenSUSE 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

現在,我們將比較使用HTTP和FTP鏈接以及wget和axel的100 MB文件的下載時間,這些文件可從:
- ftp://speedtest:[email protected]/test100Mb.db
- http://speedtest.ftp.otenet.gr/files/test100Mb.db
比較FTP和Axel下載時間
使用wget的FTP下載(平均459 KB/s):
# wget ftp://speedtest:[email protected]/test100Mb.db

使用axel的FTP下載(平均1181.43 KB/s):
# axel -n 10 --output=axel-test100Mb.db ftp://speedtest:[email protected]/test100Mb.db

比較HTTP和Axel下載時間
使用wget的HTTP下載(平均482 KB/s):
# wget http://speedtest.ftp.otenet.gr/files/test100Mb.db

使用axel的HTTP下載(平均1178.93 KB/s):
# axel -n 10 --output=axel-test100Mb.db http://speedtest.ftp.otenet.gr/files/test100Mb.db

正如您在上面的測試結果中所見,axel可以顯著加速FTP或HTTP下載。
總結
在本文中,我們已經解釋了如何使用axel,一個FTP / HTTP下載加速器,並展示了它比其他程序如wget表現得更快,因為它能夠同時打開多個連接到遠程服務器。
不容錯過: 5個最流行的下載管理器為您的Linux系統
不容錯過: 10個Wget(Linux文件下載器)命令示例在Linux中
我們希望這裡展示的內容能激勵您嘗試axel。如果您對本文有任何問題或評論,請隨時使用下面的表格告訴我們。我們總是期待收到讀者的反饋。
Source:
https://www.tecmint.com/axel-commandline-download-accelerator-for-linux/