linux wget命令例子

时间:2020-03-05 15:26:21  来源:igfitidea点击:

Linux Wget命令行工具是用于在Internet上下载文件的漂亮实用程序。
它通常在我们想从下载tar包&zipped文件,deb&rpm软件包时使用。

使用wget命令,我们可以通过http,https甚至ftp协议下载文件。
我们可以与WGET命令一起使用的许多选项,使其强大。

在本教程中,我们将查看如何通过示例使用GNU Wget命令。

WGET语法

使用WGET的语法非常简单。
只需调用WGET命令,然后是选项,然后是链接如图所示。

$wget [ options ] url

安装wget.

大多数现代Linux发行版与WGET Utility一起送货,因此我们将不需要安装它。
但是,有一些实例可能需要安装,尤其是旧系统和一些云实例或者解析--bash:wget:命令未找到'错误消息。

对于Ubuntu和Debian Flavors,使用APT包管理器运行以下命令:

$sudo apt-get install wget

要在Rhel/CentOS 8flavor 中安装WGET命令,请执行:

$sudo dnf install wget

对于较旧版本,(RHEL 7和CentOS 7及更早版本)使用YUM包管理器如下

$sudo yum install wget

对于ARCH Linux和Arch Linux发行版,如Manjaro,Arch Linux和Endeavor OS,请使用Pacman Package Manager如下:

$sudo pacman -S wget

从互联网下载文件

在其最基本的形式中,不使用任何选项,Wget命令从URL中指定的Internet下载文件。
最简单的语法如下所示:

$wget website_url

例如,在下面的示例中,我们正在从官方WordPress下载最新的WordPress tar包。

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

从输出中,我们可以看到WGet首先将的域解析为IP地址,在其上连接到服务器,此后启动文件传输。
下载正在进行中,我们可以看到指示文件名,大小,下载速度以及下载完成时间的进度条。

完成下载后,请务必在我们当前的工作目录中找到该文件。
可以通过调用ls命令来验证这一点。

下载文件并按特定名称保存

如果我们愿意在与原始名称不同的名称下保存文件,只需传递"-O"选项,然后通过首选名称。

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

上面的命令从WordPress站点下载原始文件'nature.tar.gz',并将其保存为"wordpress.tar.gz"。

下载到特定目录

如前所述,WGET将该文件下载到当前的工作目录。

我们可以使用"目标"目录的"-P"标志指定不同的下载位置,然后指定目标目录的路径。

$wget -P /var/www/html https://wordpress.org/latest.tar.gz

在上面的示例中,该文件将保存在/var/www/html目录中。

限制下载速度

使用WGET,我们还可以限制下载文件的速度。
要在下载速度上放置帽子,请调用--limit-rate选项,然后是下载速度。
速度通常以每秒以字节为单位测量。

要将限制率设置为500kb/s运行以下命令:

$wget --limit-rate = 500k https://wordpress.org/latest.tar.gz

如何继续获得部分下载的文件

有时在文件下载期间,连接可以突然删除将我们带入部分下载的文件。
而不是重新启动下载,请使用WGET-C选项以恢复下载,如图所示。

$wget -c https://wordpress.org/latest.tar.gz

在上面的示例中,我们正在恢复来自WordPress的tar包文件的文件下载。
请注意,如果未响应恢复文件下载,则该命令将重新启动文件下载并覆盖现有的。

下载文件在后台

要在后台下载文件,请传递WGET-b选项,如下所示。

$wget -b https://osdn.net/projects/manjaro/storage/kde/20.0.3/manjaro-kde-20.0.3-200606-linux56.iso

在上面的示例中,我们正在在背景中下载Manjaro KDE等离子体ISO文件。
要监视下载状态,请使用wget log命令如图所示

$tail –f wget –log

下载多个文件

如果我们有多个文件下载,则在终端上重复运行Wget命令非常麻烦。
更好的方法是运行WGET命令一次以后下载文件。

要完成此操作,请在文本文件中保存URL。
此后,请使用"-i"选项"遵循文本文件的名称,调用WGET命令。

在此示例中,我们要下载WordPress tar包文件和OwnCloud Zipped文件。
首先,我们已将下载链接保存到示例文件,让我们调用它'下载':

https://wordpress.org/latest.tar.gz
https://download.owncloud.org/community/owncloud-complete-20170731.zip

现在,要下载多个文件,请运行:

$wget -i downloads.txt

这些将在另一个之后下载。
这就是你下载多个文件的方式。

下载一个的镜子

另一个不公布的WGET使用WGE是能够克隆或者制作的镜像副本。
我们可以通过通过显示的设置为-m`选项来实现此目的。
这将创建的镜像副本以及所有内部链接以及其他资源,如图像,小部件,JavaScript和CSS文件。

$wget -m http://www.example.com

如果我们打算克隆一个用于本地浏览的,请通过显示的另外参数。

$wget -m -k -p http://www.example.com

-k标志有助于将链接转换成适合在本地观看的格式。
同时,"-P""选项指示WGET实用程序下载在浏览器上HTML页面上显示内容所需的相关文件。

忽略SSL证书

要避免从SSL证书不信任或者有效的Web服务器下载到HTTPS上的文件时运行错误,请通过--no-check-certifica选项:

$wget --no-check-certificate https://domain-with-untrusted-ssl-cert

将输出下载和重定向到日志文件

使用"-o"选项在文件下载期间可以记录WGET命令的输出,如图所示:

$wget -o download.log https://wordpress.org/latest.tar.gz

此后,我们可以在使用尾命令的下降进入时实时查看日志文件,如图所示:

$tail -f download.log

限制下载重试

有时,我们可能会遇到可能阻止我们下载文件的缓慢带宽速度。
我们可以使用WGET"--tries = [否。
尝试]"选项如图所示:

$wget --tries=10 https://wordpress.org/latest.tar.gz

在上面的示例中,Get将在退出之前重试tar包文件的10次下载。

从FTP服务器下载

我们还可以从FTP服务器下载文件,即使是密码保护。
我们需要做的就是在WGET命令中传递FTP用户名和密码,如图所示:

$wget --ftp-user=[ftp_user] --ftp-password=[ftp_password] ftp://ftp.ftp-site.com

更改Wget用户代理

用户代理基本上是由浏览器发送到Web服务器的标题字段。
如果我们正在下载网页,WGET将效仿Web浏览器。
它如此恰好发生,有时会收到一个错误,指示我们没有足够的权限来访问服务器。
当发生这种情况时,机会是或者Web服务器阻止与特定的"用户代理"关联的浏览器。
这是我们可以找到的用户代理的数据库。

要更改用户代理,请使用语法:

$wget -U "user agent" URL

例如,要在模仿Google Chrome版本74的同时下载站点examply.com,它是最新版本,请使用:

$wget -U "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36" "http://example.com"

递归下载

如要下载本地查看的,我们需要打开带有-R或者- rocuraive选项的递归下载,并将链接转换为具有-k或者--convert-links选项的本地链接。

例如:

$wget -rk https://example.com