Linux Wget命令

时间:2020-07-27 12:59:06  来源:igfitidea点击:

WGE是一个Linux命令行工具,用于从Internet下载Web页面和文件。
Linux中的WGET命令支持HTTP,HTTPS以及FTP协议。

在Linux上安装wget命令

要在基于Debian和Ubuntu的Linux系统上安装WGET,请运行以下命令。

apt-get install wget

要在Red Hat/CentOS和Fedora上安装WGET使用以下命令:

yum install wget

使用wget命令下载Web Pages

使用Wget捕获单个网页是简单的。
要下载网页或者文件,只需使用WGet命令后跟网页或者文件的URL。

wget example.com

由于我们只使用URL,而不是特定的文件名,因此输出将保存为“index.html”。

以下命令将从WordPress.org下载“最新.tar.gz”文件。

wget https://wordpress.org/latest.tar.gz

该文件将保存与远程文件名的名称相同。

使用不同的文件名保存

默认情况下,Wget命令将将下载文件保存为远程文件。
使用-o(大写o)选项,我们可以指定不同的输出文件名。

以下WGET命令将下载Larm.tar.gz文件并将其另存为WordPress.tar.gz。

wget -O wordpress.tar.gz https://wordpress.org/wordpress.tar.gz

下载多个文件和页面

wget命令可以一次下载多个文件或者网页。

wget URL1 URL2

在wget命令中设置用户代理

-User-Agent更改默认用户代理。
以下示例将检索example.com并使用“Mozilla/4.0”作为WGET用户代理。

wget --user-agent='Mozilla/4.0' example.com

查看服务器响应标题

有时我们希望看到服务器发送的标题。
-s或者-server-response选项将打印响应标题。

wget -S example.com

将详细输出保存到日志文件

默认情况下,WGET命令将详细输出打印到Linux终端。
-O(小写0)选项将为日志文件记录所有消息。

wget -o log.txt example.com

上面的wget命令将详细输出保存到“log.txt”文件。

递归下载wget命令

-r或者-rocurnurive选项用于打开递归检索。

wget -r example.com

递归下载的默认最大深度为5.但是我们可以使用-l选项指定递归最大深度级别。

wget -r -l 10 wsldp.com

WGET递归模式通过爬行,并按照最大深度级别的所有链接遵循。

请注意,'-l 0'是无限递归,因此如果将最大深度设置为零,它将下载上的所有文件。

转换链接

--Convert-Links是一个有用的选项,它将链接转换为使它们适合本地观看。

wget -r l 2 --convert-links example.com

设置最大下载大小

在递归检索文件时,我们可以设置最大下载大小。
超出限制时,下载过程将中止。
该值可以以字节(默认),千字节(带k后缀)或者mugabytes(与m后缀)指定。

wget -r --quota=1m  example.com

请注意,配额永远不会影响下载单个文件。

使用WGet命令进行站点镜像

镜像类似于递归下载,但没有最大深度级别,因此它将下载完整的。

wget --mirror --convert-links example.com

下载特定文件类型

-a选项允许我们告诉wget命令下载特定文件类型。
这是通过递归下载完成的。
例如,如果我们需要从下载PDF文件。

wget -A '*.pdf -r example.com

请注意,递归检索将限于最大深度级别,默认为5.

从FTP服务器下载文件

我们可以使用wget命令从FTP服务器下载文件。

wget --ftp-user=username --ftp-password=pass ftp://192.168.1.10/file1.txt

根据上面的示例,Wget命令将从位于192.168.1.10的FTP服务器下载'file1.txt'。

递归选项还可以与FTP协议一起使用以递归下载FTP文件。

wget -r --ftp-user=username --ftp-password=pass ftp://192.168.1.10/

使用WGet设置下载速度

我们还可以在使用wget命令下载文件时限制下载速度。
以下命令将下载'file.zip'并将下载速度限制为20kb/s。

wget --limit-rate=20k url/file.zip

下载速率可以用字节,千字节与k后缀表示,或者与m后缀的兆字节,没有字节的后缀。

从文本文件中读取URL

Linux Wget命令可以从带-i选项提供的文本文件中读取URL。

wget -i url.txt

输入文件可以包含多个URL,但每个URL必须以新行开头。

使用wget命令继续下载不完整的下载

wget命令用来继续下载部分下载的文件的-c/--continue选项。
当我们想完成以前的WGET实例或者另一个程序开始下载时,这非常有用。

wget -c example.com/file.zip

在后台运行wget命令

-b/--background选项在启动后立即将WGET进程发送到后台。
如果我们正在下载更长时间的大文件,这很有用。

wget -b wordpress.org/latest.tar.gz

除非我们指定了带-o选项的不同日志文件,否则WGET过程的输出被重定向到“Wget-log”。

我们可以使用 tail命令监视WGET进程。

tail -f wget-log

在调试模式下运行WGET

打开调试时,WGET打印对开发人员和系统管理员的各种信息。

wget --debug example.com

调试输出包括远程服务器发送的WGET请求标头和响应标头。

运行wget命令作为web spider

当使用--Spider选项时,WGET命令的行为类似于Web Spider,这意味着它不会下载页面,只需检查它们是存在的。
如果网页上有任何破坏链接,则会报告。

wget -r --spider example.com