Linux的命令行文件下载加速神器,快到飞起

系统 Linux
在本指南中,我们将向您介绍Axel,它是一个轻量级的wget克隆,没有依赖关系(除了gcc和makeutils)。

 如果你是那种经常下载和尝试各种Linux发行版的人,我们确信你会喜欢下载加速器。

在本指南中,我们将向您介绍Axel,它是一个轻量级的wget克隆,没有依赖关系(除了gcc和makeutils)。

axel可以安装在任何地方,不仅可以用于通过HTTP/FTP链接同时下载多个文件,还可以加快它们的速度。

安装Axel(适用于Linux的命令行下载加速器)

正如我们前面提到的,axel不仅仅是另一个下载工具。它通过使用多个连接从目标检索文件来加速HTTP和FTP下载,还可以配置为使用多个镜像。

如果这还不足以让您有动力尝试它,让我们添加以下内容:axel支持自动中止和恢复在给定时间后无响应或不返回任何数据的连接。

此外,如果您有这样做的权限,您可以利用axel来打开到一个服务器的多个同时进行的FTP连接,以便成倍地增加每个连接所分配的带宽。

如果不允许这样做或不确定,可以打开多个服务器的连接,并同时从所有服务器下载。

最后但并非最不重要的一点是,axel与其他Linux下载加速器的不同之处在于,它在下载时将所有数据放在一个文件中,而不是将数据写入单独的文件并在后期加入它们。

在CentOS/RHEL 8/7中,你需要启用EPEL存储库来安装axel: 

  1. linuxmi@linuxmi:~/www.linuxmi.com$ yum install epel-release  
  2. linuxmi@linuxmi:~/www.linuxmi.com$ yum install axel  

在Fedora中,它可以从默认存储库中获得。 

  1. linuxmi@linuxmi:~/www.linuxmi.com$ yum install axel  
  2. linuxmi@linuxmi:~/www.linuxmi.com$ dnf install axel [在 Fedora 23 以上版本]  

在Debian和衍生工具如Ubuntu和Linux Mint中,你可以通过aptitude直接安装axel: 

  1. linuxmi@linuxmi:~/www.linuxmi.com$ sudo aptitude install axel 

在Arch Linux和相关发行版(例如Manjaro Linux和OpenSUSE Linux)上,可以直接使用以下命令安装axel: 

  1. linuxmi@linuxmi:~/www.linuxmi.com$ sudo pacman -S axel [在Arch/Manjaro 上]  
  2. linuxmi@linuxmi:~/www.linuxmi.com$ sudo zypper install axel [在 OpenSUSE 上]  

配置Axel – Linux下载加速器

您可以使用/etc/axelrc配置axel,并在调用它时在命令行中传递所需的其他选项。该配置文件已被详细记录,我们将在此处列举最有用的选项:

reconnect_delay是axel在再次尝试开始与服务器的新连接之前将等待的秒数。

max_speed是不言自明的。值以每秒字节数(B/s)为单位。考虑到可用带宽后,您可能需要将此变量设置为适当的值。这将帮助您防止axel在下载时占用大量带宽。

重要提示:请注意,实际最大下载速率取决于您的网络连接–不用说,如果您的Internet连接最大速度为1.22 MB / s,则将max_speed设置为5 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。

如果有多个接口,则可以使用接口列出可以访问Internet的网络接口。如果未明确设置,则axel将使用路由表中的第一个接口。

更多的配置选项使用如下命令: 

  1. linuxmi@linuxmi:~/www.linuxmi.com$ axel --help 

如果仔细看,您会发现大多数命令行选项与配置文件中的选项相似。另外,-o(-output)选项允许您指定输出文件名。

如果使用,它将覆盖源文件名。如果您设置了任何命令行选项,它们将覆盖配置文件中设置的那些选项。

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

我们将使用配置文件中的以下设置(取消注释相应的行): 

  1. reconnect_delay = 20  
  2. max_speed = 500000  
  3. num_connections = 4  
  4. connection_timeout = 30  
  5. buffer_size = 10240  
  6. verbose = 1 

来自:https://www.linuxmi.com/axel-linux-xiazai.html

现在,我们将使用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进行FTP下载:

100.00M 平均205KB/s 用时 8m 7s s 

  1. linuxmi@linuxmi:~/www.linuxmi.com$ wget ftp://speedtest:speedtest@ftp.otenet.gr/test100Mb.db 

使用axel的FTP下载:

已下载 100 兆字节,用时 37 second(s)。(平均2734.36 KB/s) 

  1. 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): 

  1. linuxmi@linuxmi:~/www.linuxmi.com$ wget http://speedtest.ftp.otenet.gr/files/test100Mb.db 

使用axel的HTTP下载(平均2458.08 KB/s): 

  1. linuxmi@linuxmi:~/www.linuxmi.com$ axel -n 10 --output=axel-test100Mb.db http://speedtest.ftp.otenet.gr/files/test100Mb.db 

从上面我们进行的测试的结果中可以看到,axel可以大大加快FTP或HTTP下载的速度。

总结

在本文中,我们已经解释了如何使用axel(FTP/HTTP下载加速器),并展示了它比wget等其他程序执行得更快的原因,因为它能够打开多个同时连接到远程服务器的连接。

我们希望通过本文的介绍能激发你尝试axel。如果你对本文有任何疑问或意见,请使用下面的留言栏告诉我们。我们期待着收到你的反馈。 

 

责任编辑:庞桂玉 来源: Linux公社
相关推荐

2012-07-11 13:35:25

UnixLinux

2019-09-09 15:43:29

UnixLinux命令行

2019-03-25 21:12:06

Linux命令行下载加速器

2016-10-20 09:57:58

Linux转换工具

2021-11-26 09:58:37

Linux命令浏览器

2010-02-04 15:17:48

Linux wget

2017-03-03 10:10:15

2021-04-20 11:25:38

Linux命令文件

2013-11-06 14:36:30

Linux命令行工具gcp

2023-03-17 11:33:18

Linux

2017-01-19 19:08:32

Linux管理器

2010-06-07 14:45:37

Linux下载工具

2014-06-17 09:49:07

Ngxtop实时监控Nginx

2015-12-16 16:01:13

2021-08-17 09:35:26

Linux命令Nginx

2023-02-07 09:49:26

Linux命令行合并文件

2016-08-04 10:27:40

Linux文件下载网站浏览工具

2009-12-24 14:51:39

Linux命令行

2024-08-26 11:23:41

kitexcall

2010-09-01 14:23:54

Linux命令行开发
点赞
收藏

51CTO技术栈公众号