Wget命令教程

Linux提供了不同的工具来通过不同类型的协议(如HTTP、FTP、HTTPS等)下载文件 是通过命令行界面下载文件的最常用工具。Wget由Linux、BSD、Windows和MacOSX支持。Wget有一个丰富的特性集,其中一些可以列出

null
  • 继续下载
  • 多文件下载单个命令
  • 代理支持
  • 无人参与下载

Curl是wget的替代品。要阅读curl教程,请单击此链接

wget命令帮助

wget的帮助信息如下所示。

$ wget -h
Wget Help
Wget帮助

简单的下载

wget命令最常见的用法是除了下载URL之外不提供任何选项或参数。我们将使用wget只提供下载网址。

$ wget http://ftp.gnu.org/gnu/wget/wget-1.19.tar.gz
Simple Download
简单的下载

设置不同的文件名

下载时,下载文件的名称与下载URL中提供的名称相同。在上一个示例中,文件名为 wget-1.19.tar.gz 因为URL提供了这个名称。我们可以将保存的文件名更改为与URL不同的名称。我们将使用 -O 带有name参数的选项,将名称设置为 wget.tar.gz 因此将从文件名中删除版本部分。

$ wget -O wget.tar.gz http://ftp.gnu.org/gnu/wget/wget-1.19.tar.gz
Set Different File Name
设置不同的文件名

下载多个文件

wget还有一个有用的特性,它使我们能够下载多个文件。我们将在一个命令中提供多个url。这些文件将被下载并在URL中命名为。不需要明确的选项规范。我们只是通过用空格分隔URL来提供一行。URL的数量没有限制

$ wget http://ftp.gnu.org/gnu/wget/wget-1.19.tar.gz http://ftp.gnu.org/gnu/wget/wget-1.18.tar.gz
Download Multiple Files
下载多个文件

从文件读取下载URL

在前面的示例中,我们通过从命令like中指定url下载了多个文件。如果有100个URL要下载,这可能会变得很难管理。另一种情况可能是url在外部以纯文本格式逐行提供。将这些url提供给命令行是一项困难且容易出错的工作。希望wget有这样一个特性:只需指定文件名,就可以逐行读取文件中的url。我们将在一个名为 downloads.txt 一行一行地 -i 选项。

相关文章: 如何安装Tar.Gz或Tar.Bz2应用程序源代码?

下载.txt文件内容

http://ftp.gnu.org/gnu/wget/wget-1.19.tar.gz http://ftp.gnu.org/gnu/wget/wget-1.18.tar.gz

我们将下载。它有非常清晰的介绍。

$ wget -i downloads.txt
Read Download URLs From File
从文件读取下载URL

恢复未完成的下载

wget命令的另一个重要特性是从它离开的地方恢复下载。尤其是在大文件中,下载可能会在%%98完成后中断,这是一场噩梦。这个 -c 提供了一个选项来恢复下载,而不必从头开始。

$ wget -c http://ftp.gnu.org/gnu/wget/wget-1.19.tar.gz
Resume Uncompleted Download
恢复未完成的下载

从截图中我们可以看到,文件的下载部分显示为 + 加号 在下载栏中。此外,还有关于重命名长度和已下载的长度以及行开始的信息 Lenght:... 也有类似的信息 Partial Content

不覆盖现有文件

默认情况下,wget不覆盖文件。如果它看到与下载的文件存在相同的文件名,它会附加 .1 下载文件的结尾。这个 .1 如果全部就绪,则递增。

在后台下载文件

Wget作为一个交互式的下载过程开始。在下载过程中,wget进程仍然是前台进程。但在某些情况下,我们可能需要将wget发送到后台。与 -b wget命令将发送到后台的选项。

$ wget -b http://ftp.gnu.org/gnu/wget/wget-1.19.tar.gz
Download Files In Background
在后台下载文件

限制下载速度

默认情况下,wget的下载速度是不受限制的。因此它将根据远程站点的上传速度来消耗带宽。这种行为可能不适合某些情况。我们可能希望不使用整个带宽,而将带宽保留给其他关键应用程序。我们可以用 --limit-rate 具有带宽值的选项。在本例中,我们将带宽设置为 50KB/s .

$ wget --limit-rate=50K http://ftp.gnu.org/gnu/wget/wget-1.19.tar.gz
Restrict Download Speed
限制下载速度

正如我们在左下角看到的,带宽被限制在50KB/s

相关文章: 什么是HTTPS?

指定用于登录的FTP用户名和密码

安全是当今的一个重要问题。所以FTP服务器不是很安全,但是它们试图实现一些安全步骤,比如用户名和密码。wget可以使用FTP用户名和密码的FTP身份验证。我们将使用 --ftp-user 用于指定用户名和 --ftp-password 指定FTP密码。

$ wget --ftp-user=anonymous --ftp-password=mypass ftp.gnu.org/gnu/wget/wget-1.19.tar.gz
Specify FTP Username and Password
指定FTP用户名和密码

指定HTTP用户名和密码

与上一个示例一样,我们可以指定HTTP用户名和密码。我们将使用 --http-user 指定HTTP用户名和 --http-password HTTP密码。

$ wget --http-user=anonymous --http-password=mypass https://ftp.gnu.org/gnu/wget/wget-1.19.tar.gz
Specify HTTP Username and Password
指定HTTP用户名和密码

更改用户代理信息

连接网页时,HTTP协议提供有关用户浏览器的信息。使用wget下载文件时也会提供相同的信息。有些网站可以拒绝访问非标准浏览器。Wget默认提供不同于标准浏览器的用户代理。此浏览器信息可以随 --user-agent 具有浏览器名称的参数。在本例中,我们将提供如下浏览器信息 Mozilla Firefox .

$ wget --user-agent="Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.3) Gecko/2008092416 Firefox/39" https://ftp.gnu.org/gnu/wget/wget-1.19.tar.gz
Change User Agent Information
更改用户代理信息

测试下载URL

wget的另一个有用特性是在下载url之前测试它们。这将给出一些关于URL和文件状态的提示。我们将使用 --spider 用于检查远程文件是否存在并可下载的选项。

$ wget --spider https://ftp.gnu.org/gnu/wget/wget-1.19.tar.gz
Test Download URLs
测试下载URL

从截图中我们可以看到,有一条信息 Remote file exists. 在最后一行。我们也可以不下载就获得文件的大小。

设置重试次数

在有问题的网络或下载服务器中,可能存在一些下载问题。最常见的问题是短时间内无法访问远程文件。我们可以设置在指定时间内尝试下载的重试次数。 --tries 可以使用具有重试次数的选项。

$ wget --tries=10 https://ftp.gnu.org/gnu/wget/wget-1.19.tar.gz

下载整个网站或蜘蛛网站

有不同的工具下载整个网站只是提供主页网址。wget也有这个能力。此命令将爬行并下载有关此URL和子页的所有页面。这将使网站离线访问。我们将使用 --mirror 下载整个网站并提供下载位置 -P 参数。这里我们要下载 www.poftut.com 及其子页

$ wget --mirror https://www.poftut.com -P poftut.com
Download Whole Web Site or Spider Website
下载整个网站或蜘蛛网站

下载特定文件类型

当下载多个文件或镜像一个站点时,我们可能只想下载一个特定的文件或文件扩展名。这可以用 -A 扩展名或文件名的某个部分。在这个例子中,我们只想下载 .txt 文件夹。

$ wget -A '.txt' --mirror https://www.poftut.com
Download Specific File Type
下载特定文件类型

做 不下载特定的文件类型

下载多个URL时 或者镜像一个网站会有很多文件我们不想下载或太大,无法下载。我们将使用–拒绝 选项提供扩展名或文件名。

$ wget --reject '.txt' --mirror https://www.poftut.com

记录到文件

默认情况下,wget创建的日志被打印到标准输出,这通常是我们使用的命令行界面。但是使用远程或作为批处理或后台进程,我们不能直接获取日志。因此,将日志写入文件是最好的解决方案。我们将使用 -o 具有日志文件名的选项。

$ wget -o wget.log http://ftp.gnu.org/gnu/wget/wget-1.19.tar.gz
Log To File
记录到文件

设置下载大小限制

另一个设置总下载文件大小限制的好方法是 -Q . 我们将下载大小设置为 2 MB 在这个例子中。此设置对单个文件下载无效。它将影响站点的递归或镜像。

$ wget -Q5m https://www.poftut.com

显示版本信息

有关wget命令的版本信息可以通过 --version 选项。

$ wget --version
图片[16]-Wget命令教程-yiteyi-C++库
显示版本信息

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享