Linux中國

使用 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.bz2
Initializing download: https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
File size: 22678208 bytes
Opening output file owncloud-9.0.0.tar.bz2
Starting 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.bz2
Initializing download: https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
File size: 22678208 bytes
Opening output file cloud.tar.bz2
Starting 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.bz2
Initializing download: https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
File size: 22678208 bytes
Opening output file owncloud-9.0.0.tar.bz2
Starting 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 finished
Connection 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.bz2
Initializing download: https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
File size: 22678208 bytes
Opening output file owncloud-9.0.0.tar.bz2
Starting 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 命令,它將會檢查 filefile.st,如果找到,它會從停止處恢復下載。

# axel https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
Initializing download: https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
File size: 22678208 bytes
Opening output file owncloud-9.0.0.tar.bz2
Starting 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%]  .......... .......... .......... .^C

Downloaded 18.3 megabytes in 2 seconds. (7009.79 KB/s)

上面的輸出清晰地顯示了在下載斷開時有兩個文件 owncloud-9.0.0.tar.bz2owncloud-9.0.0.tar.bz2.st。當重新開始下載時,它會從停止處開始下載。

# ls -lh
total 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.bz2
Initializing download: https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
File size: 22678208 bytes
Opening output file owncloud-9.0.0.tar.bz2
State 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.bz2
Initializing download: https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
File size: 22678208 bytes
Opening output file owncloud-9.0.0.tar.bz2
Starting download

[ 66%] [......0      ...1        ..........2  ...........3] [   5.8MB/s] [00:01]^C

Downloaded 14.3 megabytes in 2 seconds. (5916.11 KB/s)

我們中斷了上面的下載,以便在下載文件時能清楚地顯示替代進度條狀態。一旦文件成功下載後,你可以看到相同的輸出,如下所示。

# axel -a https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
File size: 22678208 bytes
Opening output file owncloud-9.0.0.tar.bz2
Starting download

Connection 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

享受吧……

via: http://www.2daygeek.com/axel-command-line-downloader-accelerator-for-linux/

作者:Magesh Maruthamuthu 譯者:geekpi 校對:jasminepeng

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


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國