使用 Axel 命令行下載器/加速器加速下載
Axel 是一個輕量級下載程序,它和其他加速器一樣,對同一個文件建立多個連接,每個連接下載單獨的文件片段以更快地完成下載。
Axel 支持 HTTP、HTTPS、FTP 和 FTPS 協議。它也可以使用多個鏡像站點下載單個文件,所以,Axel 可以加速下載高達 40%(大約,我個人認為)。它非常輕量級,因為它沒有依賴並且使用非常少的 CPU 和內存。
Axel 一步到位地將所有數據直接下載到目標文件(LCTT 譯注:而不是像其它的下載軟件那樣下載成多個文件塊,然後拚接)。
注意:不支持在單條命令中下載兩個文件。
你還可以嚐試其他命令行下載管理器/加速器。
大多數發行版(Debian、Ubuntu、Mint、Fedora、suse、openSUSE、Arch Linux、Manjaro、Mageia 等)都有 axel 包,所以我們可以從發行版官方倉庫輕鬆安裝。對於 CentOS/RHEL,我們需要啟用 EPEL Repository。
[在 Debian/Ubuntu/LinuxMint 上安裝 Axel]$ sudo apt-get install axel[在 RHEL/CentOS 上安裝 Axel]$ sudo yum install axel[在 Fedora 上安裝 Axel]$ sudo dnf install axel[在 openSUSE 上安裝 Axel]$ sudo zypper install axel[在 Mageia 上安裝 Axel]$ sudo urpmi axel[在基於 Arch Linux 的發行版安裝 Axel]$ sudo pacman -S axel
1) 下載單個文件
以下命令將從給定的 URL 下載文件並存儲在當前目錄中,下載文件時,我們可以看到文件的信息(建立的連接數、下載速度、下載進度、完成下載所花費的時間以及連接完成的時間)。
# axel https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2Initializing download: https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2File size: 22678208 bytesOpening output file owncloud-9.0.0.tar.bz2Starting download[ 0%] .......... .......... .......... .......... .......... [ 146.7KB/s][ 0%] .......... .......... .......... .......... .......... [ 267.0KB/s][ 0%] .......... .......... .......... .......... .......... [ 373.9KB/s][ 0%] .......... .......... .......... .......... .......... [ 406.9KB/s][ 0%] .......... .......... .......... .......... .......... [ 487.5KB/s][ 1%] .......... .......... .......... .......... .......... [ 572.6KB/s][ 1%] .......... .......... .......... .......... .......... [ 650.7KB/s][ 1%] .......... .......... .......... .......... .......... [ 649.3KB/s][ 1%] .......... .......... .......... .......... .......... [ 718.1KB/s][ 2%] .......... .......... .......... .......... .......... [ 769.3KB/s][ 2%] .......... .......... .......... .......... .......... [ 838.7KB/s][ 2%] .......... .......... .......... .......... .......... [ 866.0KB/s]Connection 0 finished..[ 99%] .......... .......... .......... .......... .......... [5721.0KB/s]Connection 2 finished[ 99%] .......... .......... .......... .......... .......... [5733.4KB/s]Connection 1 finished[ 99%] .......... .......... .......... .......... .......... [5745.4KB/s][100%] .......... .......... .......... .......... ......Downloaded 21.6 megabytes in 3 seconds. (5755.94 KB/s)
2) 用不同的名稱保存文件
要使用其他名稱來保存文件,啟動下載時可以添加 -o(小寫字母)選項和文件名。這裏我們使用文件名 owncloud.tar.bz2 來保存文件。
# axel -o cloud.tar.bz2 https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2Initializing download: https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2File size: 22678208 bytesOpening output file cloud.tar.bz2Starting download[ 0%] .......... .......... .......... .......... .......... [ 143.0KB/s][ 0%] .......... .......... .......... .......... .......... [ 264.1KB/s][ 0%] .......... .......... .......... .......... .......... [ 309.8KB/s][ 0%] .......... .......... .......... .......... .......... [ 406.3KB/s][ 0%] .......... .......... .......... .......... .......... [ 495.4KB/s][ 1%] .......... .......... .......... .......... .......... [ 586.3KB/s][ 1%] .......... .......... .......... .......... .......... [ 673.1KB/s][ 1%] .......... .......... .......... .......... .......... [ 647.1KB/s][ 1%] .......... .......... .......... .......... .......... [ 721.1KB/s][ 2%] .......... .......... .......... .......... .......... [ 781.3KB/s]Connection 2 finished..Connection 0 finished[ 98%] .......... .......... .......... .......... .......... [6221.9KB/s][ 98%] .......... .......... .....Connection 1 finished,,,,,,,,,, ,,,,,,,,,, ,,,,,..... .......... .......... [6145.6KB/s][ 99%] .......... .......... .......... .......... .......... [6159.2KB/s][ 99%] .......... .......... .......... .......... .......... [6172.0KB/s][ 99%] .......... .......... .......... .......... .......... [5977.9KB/s][ 99%] .......... .......... .......... .......... .......... [5989.6KB/s][100%] .......... .......... .......... .......... ......Downloaded 21.6 megabytes in 3 seconds. (6001.05 KB/s)
3) 限製下載速度
默認情況下 axel 以字節/秒為單位設置下載文件的最大速度。當我們的網絡連接速度較慢時,可以使用此選項。隻需添加 -s 選項,後麵跟字節值。這裏我們要限速 512 KB/s 下載一個文件。
# axel -s 512000 https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2Initializing download: https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2File size: 22678208 bytesOpening output file owncloud-9.0.0.tar.bz2Starting download[ 0%] .......... .......... .......... .......... .......... [ 141.5KB/s][ 0%] .......... .......... .......... .......... .......... [ 266.1KB/s][ 0%] .......... .......... .......... .......... .......... [ 308.0KB/s][ 0%] .......... .......... .......... .......... .......... [ 405.9KB/s][ 0%] .......... .......... .......... .......... .......... [ 496.7KB/s][ 1%] .......... .......... .......... .......... .......... [ 526.4KB/s][ 1%] .......... .......... .......... .......... .......... [ 507.0KB/s][ 1%] .......... .......... .......... .......... .......... [ 505.6KB/s][ 1%] .......... .......... .......... .......... .......... [ 504.8KB/s][ 2%] .......... .......... .......... .......... .......... [ 503.9KB/s][ 2%] .......... .......... .......... .......... .......... [ 503.4KB/s]..[ 99%] .......... .......... .......... .......... .......... [ 497.0KB/s][ 99%] .......... .......... .......... .......... .......... [ 496.9KB/s][100%] .......... ..Connection 0 finished,,,,,,,,,, ,,.....Connection 1 finishedConnection 3 finished,,,,,,,,,, ,,,,,,,... .......... .......... ......Downloaded 21.6 megabytes in 44 seconds. (494.54 KB/s)
4) 限製連接數
axel 默認建立 4 個連接以從不同的鏡像獲取文件。此外,我們可以通過使用 -n 選項添加更多的連接,後跟連接數 10 來提高下載速度。保險起見,我們添加了十個連接,但不幸的是,它花了更多時間來下載文件。
# axel -n 10 https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2Initializing download: https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2File size: 22678208 bytesOpening output file owncloud-9.0.0.tar.bz2Starting download[ 0%] .......... .......... .......... .......... .......... [ 140.8KB/s][ 0%] .......... .......... .......... .......... .......... [ 265.7KB/s][ 0%] .......... .......... .......... .......... .......... [ 305.4KB/s][ 0%] .......... .......... .......... .......... .......... [ 402.1KB/s][ 0%] .......... .......... .......... .......... .......... [ 496.3KB/s][ 1%] .......... .......... .......... .......... .......... [ 522.1KB/s][ 1%] .......... .......... .......... .......... .......... [ 567.5KB/s][ 1%] .......... .......... .......... .......... .......... [ 640.5KB/s][ 1%] .......... .......... .......... .......... .......... [ 710.8KB/s][ 2%] .......... .......... .......... .......... .......... [ 780.5KB/s]..[ 98%] .......... .......... .......... .......... .......... [7544.9KB/s][ 98%] .......... .......... .......... .......... .......... [7557.9KB/s][ 98%] .......... .......... .......... .......... .......... [7570.4KB/s][ 98%] .......... .......... .......... .......... .......... [7495.3KB/s][ 99%] .......... .......... .......... .......... ......Connection 2 finished,,,,,,,,,, ,,,,,,,,,, ,,,,,,,,,, ,,,,,,,,,, ,,,,,,.... [7311.6KB/s][ 99%] .......... .......... .......... .......... .......... [7318.9KB/s][ 99%] .......... .......... .......... .......... ..........Connection 9 finished,,,,,,,,,, ,,,,,,,,,, ,,,,,,,,,, ,,,,,,,,,, ,,,,,,,,,, [7331.0KB/s][ 99%] .......... .......... .......... ..........Connection 3 finished,,,,,,,,,, ,,,,,,,,,, ,,,,,,,,,, ,,,,,,,,,, .......... [4300.7KB/s][100%] .......... .......... .......... .......... ......Downloaded 21.6 megabytes in 5 seconds. (4109.41 KB/s)
5) 恢複未完成的下載
axel 默認具有恢複未完成的下載的行為。Axel 在下載文件時定期更新狀態文件(擴展名為 .st)。由於某些原因,下載中途停止了?不用擔心,隻要使用相同的 axel 命令,它將會檢查 file 和file.st,如果找到,它會從停止處恢複下載。
# axel https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2Initializing download: https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2File size: 22678208 bytesOpening output file owncloud-9.0.0.tar.bz2Starting download[ 0%] .......... .......... .......... .......... .......... [ 140.8KB/s][ 0%] .......... .......... .......... .......... .......... [ 265.7KB/s][ 0%] .......... .......... .......... .......... .......... [ 305.4KB/s][ 0%] .......... .......... .......... .......... .......... [ 402.1KB/s][ 0%] .......... .......... .......... .......... .......... [ 496.3KB/s][ 1%] .......... .......... .......... .......... .......... [ 522.1KB/s][ 1%] .......... .......... .......... .......... .......... [ 567.5KB/s][ 1%] .......... .......... .......... .......... .......... [ 640.5KB/s][ 1%] .......... .......... .......... .......... .......... [ 710.8KB/s][ 2%] .......... .......... .......... .......... .......... [ 780.5KB/s]..[ 84%] .......... .......... .......... .......... .......... [7100.7KB/s][ 84%] .......... .......... .......... .......... .......... [7104.3KB/s][ 84%] .......... .......... .......... .^CDownloaded 18.3 megabytes in 2 seconds. (7009.79 KB/s)
上麵的輸出清晰地顯示了在下載斷開時有兩個文件 owncloud-9.0.0.tar.bz2 和 owncloud-9.0.0.tar.bz2.st。當重新開始下載時,它會從停止處開始下載。
# ls -lhtotal 19M-rw------- 1 root root 22M Dec 27 08:33 owncloud-9.0.0.tar.bz2-rw------- 1 root root 44 Dec 27 08:33 owncloud-9.0.0.tar.bz2.st# axel https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2Initializing download: https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2File size: 22678208 bytesOpening output file owncloud-9.0.0.tar.bz2State file found: 19180828 bytes downloaded, 3497380 to go.Starting download,,,,,,,,,, ,,,,,,,,,, ,,,,,,,,,, ,......... .......... [ 66.5KB/s][ 84%] .......... .......... .......... .......... .......... [ 186.0KB/s][ 85%] .......... .......... .......... .......... .......... [ 241.7KB/s][ 85%] .......... .......... .......... .......... .......... [ 335.6KB/s][ 85%] .......... .......... .......... .......... .......... [ 351.5KB/s][ 85%] .......... .......... .......... .......... .......... [ 427.1KB/s][ 85%] .......... .......... .......... .......... .......... [ 427.4KB/s][ 86%] .......... .......... .......... .......... .......... [ 491.5KB/s]..[ 98%] ...Connection 0 finished,,,....... .......... .......... .......... .......... [2106.6KB/s][ 99%] .......... .......... .......... .......... .......... [2140.5KB/s][ 99%] .......... .......... .......... .......... .......... [2172.4KB/s][ 99%] .......... .......... .......... .......... .......... [2203.2KB/s][ 99%] .......... .......... .......... .......... .......... [2236.2KB/s][100%] .......... .......... .......... .......... ......Downloaded 3415.4 kilobytes in 1 second. (2264.93 KB/s)
6) 不顯示文件下載進度
如果你不想要看到文件的下載進度,隻要在 axel 命令中加入 -q 選項。
# axel -q https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
7) 替換進度條
如果你不喜歡默認的進度條,你可以使用 -a 選項來替換進度條。
# axel -a https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2Initializing download: https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2File size: 22678208 bytesOpening output file owncloud-9.0.0.tar.bz2Starting download[ 66%] [......0 ...1 ..........2 ...........3] [ 5.8MB/s] [00:01]^CDownloaded 14.3 megabytes in 2 seconds. (5916.11 KB/s)
我們中斷了上麵的下載,以便在下載文件時能清楚地顯示替代進度條狀態。一旦文件成功下載後,你可以看到相同的輸出,如下所示。
# axel -a https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2File size: 22678208 bytesOpening output file owncloud-9.0.0.tar.bz2Starting downloadConnection 2 finished ]Connection 1 finished ]Connection 3 finished ]Connection 0 finished ]Downloaded 21.6 megabytes in 4 seconds. (5062.32 KB/s)
8) 了解關於 axel 的更多信息
如果你想要了解更多關於 axel 的選項,隻需要進入它的手冊。
# man axel或者# axel --help
原文發布時間為:2017-01-19
本文來自雲棲社區合作夥伴“Linux中國”
最後更新:2017-05-27 10:02:48