红联Linux门户
Linux帮助

适用于Linux的最佳命令行下载加速器

发布时间:2019-05-23 00:00:00来源:未知作者:admin

在远程服务器或者本地工作时,您可能经常需要从外部源获取内容。要获得这样的内容,特别是当您没有其他选项时,您将需要使用Linux命令行工具来完成这项工作。

在本文中,我们将回顾一些最常用的通过Linux下命令行下载内容的工具。

测试环境为Ubuntu 18.04 LTS

Wget

我们将从一个名为wget的最流行的工具开始。它是一个网络实用程序,可用于通过HTTP,HTTPS和FTP下载内容。 Wget可以在后台和前台使用,这使得它在您需要保持下载运行时非常有用,即使您已经注销了。

这个工具提供了很多选项,允许您执行经过身份验证的下载、具有级别限制的递归下载、接受URL的正则表达式、允许排除、接受来自文件的URL输入以及其他许多选项。wget的选项真的很多,强烈建议通过简单的运行来查看工具的帮助页面。

linuxidc@linuxidc:~/linuxidc.com$ wget -h
GNU Wget 1.19.4,非交互式的网络文件下载工具。
用法: wget [选项]... [URL]...

长选项所必须的参数在使用短选项时也是必须的。

启动:
  -V,  --version                  显示 Wget 的版本信息并退出
  -h,  --help                      打印此帮助
  -b,  --background                启动后转入后台
  -e,  --execute=命令              运行一个“.wgetrc”风格的命令

wget命令的一些有用示例是:

wget最基本的下载示例是:

linuxidc@linuxidc:~/linuxidc.com$ wget https://linux.linuxidc.com/linuxidc.com.zip
--2019-03-24 12:31:20--  https://linux.linuxidc.com/linuxidc.com.zip
正在解析主机 linux.linuxidc.com (linux.linuxidc.com)... 60.191.177.106
正在连接 linux.linuxidc.com (linux.linuxidc.com)|60.191.177.106|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度: 10653910 (10M) [application/x-zip-compressed]
正在保存至: “linuxidc.com.zip”

linuxidc.com.zip    100%[===================>]  10.16M  4.54MB/s    用时 2.2s 

2019-03-24 12:31:22 (4.54 MB/s) - 已保存 “linuxidc.com.zip” [10653910/10653910])

从文件中列出的URL下载的示例。 首先是我们的文件列表:

linuxidc@linuxidc:~/linuxidc.com$ cat list.txt
https://linux.linuxidc.com/linuxidc.com.gz
https://linux.linuxidc.com/linuxidc.com.zip

然后你可以运行下载:

linuxidc@linuxidc:~/linuxidc.com$ wget -i list.txt

要在后台运行下载,您可以使用:

linuxidc@linuxidc:~/linuxidc.com$ wget -b https://linux.linuxidc.com/linuxidc.com.gz
继续在后台运行,pid 为 3131。
将把输出写入至 “wget-log.1”。

如果要使用wget和FTP下载单个文件。

$ wget ftp://user:password@host:/www.linuxidc.com/linuxidc.txt

一个更有用的例子是使用后台和递归模式,这样你就可以获得目录中的所有文件和文件夹。

$ wget -br ftp://user:password@ftp-host:/linuxidc.com/

Wget预装在许多现代Linux发行版上,但是如果你需要安装它,你可以使用:

$ sudo apt install wget    # Debian/Ubuntu like distros
# yum install wget        # CentOS/RHEL
# dnf install wget        # Fedora

Curl

curl是一种可用于从服务器传输数据或向服务器传输数据的工具。它支持多种协议。根据其手册页,支持以下协议:DICT,FILE,FTP,FTPS,GOPHER,HTTP,HTTPS,IMAP,IMAPS,LDAP,LDAPS,POP3,POP3S,RTMP,RTSP,SCP,SFTP,SMB,SMBS,SMTP ,SMTPS,TELNET和TFTP。

你可以想象,你可以用这些来做很多事情。正如你可能已经想到的那样,curl支持代理,用户身份验证,FTP上传/下载,文件传输恢复等等。

以下是使用curl的一些示例:

下载文件:

linuxidc@linuxidc:~/linuxidc.com$ curl -O https://linux.linuxidc.com/linuxidc.com.zip
  % Total    % Received % Xferd  Average Speed  Time    Time    Time  Current
                                Dload  Upload  Total  Spent    Left  Speed
100 10.1M  100 10.1M    0    0  4399k      0  0:00:02  0:00:02 --:--:-- 4399k

<预设>

由您选择下载一个文件并修改文件名另存(如下把index.htm另存为linuxidc.html):

linuxidc@linuxidc:~/linuxidc.com$ curl -o linuxidc.html
  % Total    % Received % Xferd  Average Speed  Time    Time    Time  Current
                                Dload  Upload  Total  Spent    Left  Speed
100 44389  100 44389    0    0  256k      0 --:--:-- --:--:-- --:--:--  256k

要恢复中断下载,您可以使用:

linuxidc@linuxidc:~/linuxidc.com$ curl -C - O

您可以在此处查看更多有用的curl示例:见

在Linux中使用curl命令参数详解 

要安装curl,您可以使用:

$ sudo apt install curl    # Debian/Ubuntu
# yum install curl        # CentOS/RHEL
# dnf install curl        # Fedora

Aria2

Aria是另一种多协议下载工具。 Aria支持HTTP / HTTPS,FTP / SFTP BitTorrent和Metalink。与其他功能相比,它的一些功能是它支持从多个位置同时下载文件,磁链接和功能齐全的BitTorrent客户端。

作为BitTorrent客户端,它支持DHT,PEX,加密,磁铁URI,网络种子,选择性下载和本地对等发现。

以下是使用Aria2的一些示例

下载种子文件:

linuxidc@linuxidc:~/linuxidc.com$ aria2c http://releases.ubuntu.com/18.10/ubuntu-18.10-desktop-amd64.iso.torrent

如下图:

使用文本文件中列出的URL下载:

linuxidc@linuxidc:~/linuxidc.com$ aria2c -i list.txt

如下图:

恢复不完整下载:

linuxidc@linuxidc:~/linuxidc.com$ aria2c  -c http://releases.ubuntu.com/18.10/ubuntu-18.10-desktop-amd64.iso.torrent

从受密码保护的网站下载:

linuxidc@linuxidc:~/linuxidc.com$ aria2c --http-user=xxx --http-password=xxx https://linuxidc.com/file

要安装Aria2,您可以使用以下命令:

$ sudo apt install aria2      # Debian/Ubuntu
# yum install aria2          # CentOS/RHEL
# dnf install aria2          # Fedora

Axel

我们列表中的第四个下载实用程序是Axel,它尝试通过对一个文件使用多个连接来改进下载过程。它可以使用多个下载位置进行一次下载。根据开发人员的说法,Axel可以将下载速度提高60%,并且支持协议:HTTP / HTTPS,FTP和FTPS。

以下是使用Axel的一些示例:

要使用Axel执行简单下载,您可以使用以下命令:

linuxidc@linuxidc:~/linuxidc.com$ axel https://linux.linuxidc.com/linuxidc.com.zip
正在初始化下载:https://linux.linuxidc.com/linuxidc.com.zip
文件大小:10653910 字节
正在打开输出文件 linuxidc.com.zip.0
正在开始下载

您可以使用相应的选项--max-speed或short选项-s设置最大下载速度。该值以每秒字节数设置:

linuxidc@linuxidc:~/linuxidc.com$ axel --max-speed=2014 https://www.linuxidc.com/linuxidc.com.zip

为了演示,本文设为1024字节,如下图

要使用其他名称保存文件,可以使用-o选项指定文件名:

linuxidc@linuxidc:~/linuxidc.com$ axel -o wordpress.zip https://www.linuxidc.com/linuxidc.com.zip

如果要在Linux系统上安装Axel,请使用以下命令中的相应命令:

$ sudo apt install axel                                  # Ubuntu/Debian
# yum install epel release && yum install axel  # CentOS/RHEL
# dnf install axel                                      # Fedora

总结

这是我们列出的Linux中使用最广泛的一些下载实用程序。你在使用哪一种呢?你为什么更喜欢这些?请在下面的评论部分分享你的观点。