引言
当远程甚至本地工作时,您通常可能需要从外部源获取内容。要获得此类内容,尤其是当您没有任何其他选择时,您将需要使用命令行工具来完成工作。
在本文中,将回顾一些最广泛使用的通过命令行下载内容的工具。
Wget
将介绍一款非常受欢迎的下载工具——wget。它能够通过 HTTP、HTTPS 和 FTP 协议下载文件。wget 既可以在后台也可以在前台运行,非常适合在需要长时间下载时保持连接,即使您已经注销也能继续工作。
wget 提供了许多高级功能,包括支持身份验证下载、设置递归下载的深度限制、接受 URL 的正则表达式匹配、排除特定文件、从文件中批量导入 URL 等。由于 wget 的选项非常丰富,因此非常建议您查阅其帮助文档,以便更好地了解和使用这些功能。
wget -h
wget最基本的下载示例是:
wget https://wordpress.org/latest.zip
从文件中列出的 URL 下载的示例。首先是的文件列表:
$ cat list.txt
https://wordpress.org/latest.zip
https://downloads.joomla.org/cms/joomla3/3-8-5/Joomla_3-9-4-Stable-Full_Package.zip
https://ftp.drupal.org/files/projects/drupal-8.4.5.zip
然后您可以使用以下命令运行下载:
$ wget -i list.txt
要在后台运行下载,您可以使用:
$ wget -b https://wordpress.org/latest.zip
如果您想使用 wget 结合 FTP 下载单个文件。
$ wget ftp://user:password@host:/path-to-file/file.txt
一个更有用的示例是使用后台和递归模式,以便您可以获得目录中的所有文件和文件夹。
$ wget -br ftp://user:password@ftp-host:/path-for-download/
许多现代 Linux 发行版上都预装了 Wget,但如果您需要安装它,可以使用:
$ 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的一些示例:
- 下载文件:
$ curl -O https://wordpress.org/latest.zip
<./pre>
Download a file to output file by your choice:
$ curl -o wordpress.zip https://wordpress.org/latest.zip
- 要恢复中断的下载,您可以使用:
$ curl -C - O https://wordpress.org/latest.zip
您可以在此处查看更多有用的curl示例:有关如何在Linux中使用curl的15个技巧。
- 要安装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、加密、Magnet URI、网络播种、选择性下载和本地对等发现。
请随意查看 Aria2 下载管理器文章以了解更详细的用法。下面你可以看到 aria2 基本用法的几个例子:
- 下载种子文件:
$ aria2c http://releases.ubuntu.com/18.10/ubuntu-18.10-desktop-amd64.iso.torrent
- 使用文本文件中列出的 URL 下载:
$ aria2c -i downloadurls.txt
- 恢复未完成的下载:
$ aria2c -c http://releases.ubuntu.com/18.10/ubuntu-18.10-desktop-amd64.iso.torrent
- 从受密码保护的网站下载:
$ aria2c --http-user=xxx --http-password=xxx https://protectedwebsite.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 作为下载加速器来加速 Linux 中的 FTP 和 HTTP 下载。
在上面的文章中,您可以查看 wget、HTTP download 和 Axel 之间的一些下载时间比较。
- 要使用 Axel 执行简单下载,您可以使用以下命令:
$ axel https://wordpress.org/latest.zip
- 您可以使用相应的选项 --max-speed 或短选项 -s 设置最大下载速度。该值以每秒字节数为单位设置:
$ axel --max-speed=512000 https://wordpress.org/latest.zip
- 要以不同的名称保存文件,可以使用 -o 选项指定文件名:
$ axel -o wordpress.zip https://wordpress.org/latest.zip
- 如果您想在 Linux 系统上安装 Axel,请使用以下命令中的相应命令:
$ sudo apt install axel # Ubuntu/Debian
# yum install epel release && yum install axel # CentOS/RHEL
# dnf install axel # Fedora