Linux的命令行文件下載加速神器,快到飛起
如果你是那種經(jīng)常下載和嘗試各種Linux發(fā)行版的人,我們確信你會喜歡下載加速器。
在本指南中,我們將向您介紹Axel,它是一個輕量級的wget克隆,沒有依賴關(guān)系(除了gcc和makeutils)。
axel可以安裝在任何地方,不僅可以用于通過HTTP/FTP鏈接同時下載多個文件,還可以加快它們的速度。
安裝Axel(適用于Linux的命令行下載加速器)
正如我們前面提到的,axel不僅僅是另一個下載工具。它通過使用多個連接從目標(biāo)檢索文件來加速HTTP和FTP下載,還可以配置為使用多個鏡像。
如果這還不足以讓您有動力嘗試它,讓我們添加以下內(nèi)容:axel支持自動中止和恢復(fù)在給定時間后無響應(yīng)或不返回任何數(shù)據(jù)的連接。
此外,如果您有這樣做的權(quán)限,您可以利用axel來打開到一個服務(wù)器的多個同時進(jìn)行的FTP連接,以便成倍地增加每個連接所分配的帶寬。
如果不允許這樣做或不確定,可以打開多個服務(wù)器的連接,并同時從所有服務(wù)器下載。
最后但并非最不重要的一點是,axel與其他Linux下載加速器的不同之處在于,它在下載時將所有數(shù)據(jù)放在一個文件中,而不是將數(shù)據(jù)寫入單獨的文件并在后期加入它們。
在CentOS/RHEL 8/7中,你需要啟用EPEL存儲庫來安裝axel:
- linuxmi@linuxmi:~/www.linuxmi.com$ yum install epel-release
- linuxmi@linuxmi:~/www.linuxmi.com$ yum install axel
在Fedora中,它可以從默認(rèn)存儲庫中獲得。
- linuxmi@linuxmi:~/www.linuxmi.com$ yum install axel
- linuxmi@linuxmi:~/www.linuxmi.com$ dnf install axel [在 Fedora 23 以上版本]
在Debian和衍生工具如Ubuntu和Linux Mint中,你可以通過aptitude直接安裝axel:
- linuxmi@linuxmi:~/www.linuxmi.com$ sudo aptitude install axel
在Arch Linux和相關(guān)發(fā)行版(例如Manjaro Linux和OpenSUSE Linux)上,可以直接使用以下命令安裝axel:
- linuxmi@linuxmi:~/www.linuxmi.com$ sudo pacman -S axel [在Arch/Manjaro 上]
- linuxmi@linuxmi:~/www.linuxmi.com$ sudo zypper install axel [在 OpenSUSE 上]
配置Axel – Linux下載加速器
您可以使用/etc/axelrc配置axel,并在調(diào)用它時在命令行中傳遞所需的其他選項。該配置文件已被詳細(xì)記錄,我們將在此處列舉最有用的選項:
reconnect_delay是axel在再次嘗試開始與服務(wù)器的新連接之前將等待的秒數(shù)。
max_speed是不言自明的。值以每秒字節(jié)數(shù)(B/s)為單位??紤]到可用帶寬后,您可能需要將此變量設(shè)置為適當(dāng)?shù)闹怠_@將幫助您防止axel在下載時占用大量帶寬。
重要提示:請注意,實際最大下載速率取決于您的網(wǎng)絡(luò)連接–不用說,如果您的Internet連接最大速度為1.22 MB / s,則將max_speed設(shè)置為5 MB/s也無濟(jì)于事。如你在下面的示例中看到的-我只是留下那個值來說明這一點)。
num_connections是axel將嘗試啟動的最大連接數(shù)。推薦值(4)在大多數(shù)情況下就足夠了,并且主要是出于尊重其他FTP用戶的考慮而給出的。請注意,某些服務(wù)器甚至可能不允許多個連接。
connection_timeout表示axel在嘗試中止并自動恢復(fù)之前將等待接收響應(yīng)的秒數(shù)。
如果尚未在系統(tǒng)范圍內(nèi)設(shè)置HTTP_PROXY環(huán)境變量,則http_proxy允許您設(shè)置代理服務(wù)器。此變量使用與HTTP_PROXY (http://:PORT)相同的格式。
no_proxy是本地域的列表,以逗號分隔,axel不應(yīng)嘗試通過代理訪問。此設(shè)置是可選的。
buffer_size表示一次可從所有當(dāng)前連接讀取的最大字節(jié)數(shù)。
verbose使您可以選擇是否在屏幕上打印與下載相關(guān)的消息。如果要禁用它,則將其設(shè)置為0;如果仍要查看消息,則將其設(shè)置為1。
如果有多個接口,則可以使用接口列出可以訪問Internet的網(wǎng)絡(luò)接口。如果未明確設(shè)置,則axel將使用路由表中的第一個接口。
更多的配置選項使用如下命令:
- linuxmi@linuxmi:~/www.linuxmi.com$ axel --help
如果仔細(xì)看,您會發(fā)現(xiàn)大多數(shù)命令行選項與配置文件中的選項相似。另外,-o(-output)選項允許您指定輸出文件名。
如果使用,它將覆蓋源文件名。如果您設(shè)置了任何命令行選項,它們將覆蓋配置文件中設(shè)置的那些選項。
如何在Linux中使用Axel更快地下載文件
我們將使用配置文件中的以下設(shè)置(取消注釋相應(yīng)的行):
- reconnect_delay = 20
- max_speed = 500000
- num_connections = 4
- connection_timeout = 30
- buffer_size = 10240
- verbose = 1
來自:https://www.linuxmi.com/axel-linux-xiazai.html
現(xiàn)在,我們將使用wget和axel比較HTTP和FTP鏈接的下載時間。您可以選擇任何大小的任何文件,但為簡單起見,我們將從以下位置下載100 MB的文件:
ftp://speedtest:speedtest@ftp.otenet.gr/test100Mb.db
http://speedtest.ftp.otenet.gr/files/test100Mb.db
比較FTP和Axel下載時間
使用wget進(jìn)行FTP下載:
100.00M 平均205KB/s 用時 8m 7s s
- linuxmi@linuxmi:~/www.linuxmi.com$ wget ftp://speedtest:speedtest@ftp.otenet.gr/test100Mb.db
使用axel的FTP下載:
已下載 100 兆字節(jié),用時 37 second(s)。(平均2734.36 KB/s)
- linuxmi@linuxmi:~/www.linuxmi.com$ axel -n 10 --output=axel-test100Mb.db ftp://speedtest:speedtest@ftp.otenet.gr/test100Mb.db
比較HTTP和Axel下載時間
使用wget的HTTP下載(平均226 KB/s):
- linuxmi@linuxmi:~/www.linuxmi.com$ wget http://speedtest.ftp.otenet.gr/files/test100Mb.db
使用axel的HTTP下載(平均2458.08 KB/s):
- linuxmi@linuxmi:~/www.linuxmi.com$ axel -n 10 --output=axel-test100Mb.db http://speedtest.ftp.otenet.gr/files/test100Mb.db
從上面我們進(jìn)行的測試的結(jié)果中可以看到,axel可以大大加快FTP或HTTP下載的速度。
總結(jié)
在本文中,我們已經(jīng)解釋了如何使用axel(FTP/HTTP下載加速器),并展示了它比wget等其他程序執(zhí)行得更快的原因,因為它能夠打開多個同時連接到遠(yuǎn)程服務(wù)器的連接。
我們希望通過本文的介紹能激發(fā)你嘗試axel。如果你對本文有任何疑問或意見,請使用下面的留言欄告訴我們。我們期待著收到你的反饋。