Linux中的Wget命令与示例
GNU Wget是一个命令行程序,用于从Web下载文件。Wget可以让您可以使用HTTP,HTTPS和FTP协议下载文件。wget提供了许多选项,允许您下载多个文件,恢复下载,限制速度,递归下载,在后台下载,镜像网站等等。
在本教程中,我们将会讨论wget详细用法,以及各个选项的作用。这其中包括安装wget,Wget命令语法,将下载重定向到标准输出,跳过证书检查,创建网站镜像,下载FTP文件,下载多个文件,更改User-Agent,后台下载,恢复下载,限制下载速度,将文件下载到指定目录,指定下载文件的保存名称,使用wget下载文件。
安装Wget
wget命令现已预先安装在大多数Linux发行版上。要检查系统上是否安装了wget软件包,请打开命令行终端,键入wget
,然后按Enter键。如果安装了wget,终端将会输出wget: missing URL
,否则输出wget command not found
wget命令未找到。
如果未安装wget,您可以使用发行版的软件包管理器轻松安装它。
在Ubuntu和Debian上安装Wget
sudo apt install wget
在CentOS和Fedora上安装Wget
sudo yum install wget
Wget命令语法
在介绍如何使用wget命令之前,让我们先回顾一下基本语法。wget命令采用以下形式:
wget [options] [url]
options
- wget选项url
- 远程服务器URL
使用wget下载文件
在没有任何选项的情况下使用它时,wget会将url中指定的资源下载到当前目录。在以下示例中,我们正在下载Linux内核tar存档:
wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.17.2.tar.xz
从上图中可以看出,wget首先解析域的IP地址,然后连接到远程服务器并开始下载文件。在下载过程中,wget会显示进度条以及文件名,文件大小,下载速度和完成下载的预计时间。下载完成后,您可以在当前工作目录中找到下载的文件。要关闭wget的输出,请使用-q
标志。如果文件已存在,wget将在文件名末尾追加数字。
指定下载文件的保存名称
要以不同的名称保存下载的文件,请传递-O
选项后跟指定的名称:
wget -O latest-hugo.zip https://github.com/gohugoio/hugo/archive/master.zip
上面的wget命令将指定保存的文件名latest-hugo.zip
下载来自GitHub的hugo.zip文件,而不是原始名称。
将文件下载到指定目录
默认情况下,wget会将下载的文件保存在当前工作目录中。要将文件保存到指定目录,请使用-P
选项:
wget -P /mnt/iso http://mirrors.mit.edu/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1804.iso
上面的命令,我们告诉wget将CentOS 7 iso文件保存到/mnt/iso
目录中。
限制下载速度
要限制下载速度,请使用--limit-rate
选项。该值可以用字节表示,带k
后缀的千字节和兆字节m
。以下命令将下载Go二进制文件并将下载速度限制为1mb:
wget --limit-rate=1m https://dl.google.com/go/go1.10.3.linux-amd64.tar.gz
当您不希望wget消耗所有可用带宽时,此选项很有用。
恢复下载
您可以使用-c
选项恢复下载。如果您在下载大文件时丢失连接二中断,则可以恢复下载,而不是从头开始下载。在以下示例中,我们将继续下载Ubuntu 18.04 iso文件:
wget -c http://releases.ubuntu.com/18.04/ubuntu-18.04-live-server-amd64.iso
如果远程服务器不支持断点续传,wget将从头开始下载并覆盖现有文件。
后台下载
要在后台下载,请使用-b
选项。这在下载大文件时很有用。在以下示例中,我们将在后台下载OpenSuse iso文件:
wget -b https://download.opensuse.org/tumbleweed/iso/openSUSE-Tumbleweed-DVD-x86_64-Current.iso
默认情况下,输出将重定向到当前目录中的wget-log
文件。要观察下载的状态,请使用tail命令:
tail -f wget-log
更改User-Agent
在下载文件时,有些远程服务器会阻止wget默认的User-Agent。在这种情况下,需要模拟不同的浏览器User-Agent,使用-U
选项,可以改变wget的User-Agent。
wget --user-agent="Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0" http://wget-forbidden.com/
上面的命令将模拟Firefox 60请求页面 wget forbidden.com
。
下载多个文件
如果要一次下载多个文件,请使用-i
选项,后跟要下载的URL列表。每个URL都需要在一个单独的行上。在下面的示例中,我们使用文件中指定的URL下载Arch Linux,Debian和Fedora的iso文件:
wget -i linux-distros.txt
如果未使用-i
指定文件名,则将从标准输入中读取URL。
下载FTP文件
要从受密码保护的FTP服务器下载文件,您需要指定用户名和密码,如下所示:
wget --ftp-user=FTP_USERNAME --ftp-password=FTP_PASSWORD ftp://ftp.example.com/filename.tar.gz
创建网站镜像
要使用wget创建网站镜像,请使用-m
选项。这将下载所有网站资源(JavaScript,CSS,图像)来创建网站的完整本地副本。
wget -m https://example.com
如果要使下载的站点,可以进行本地浏览,则需要向上面的命令传递一些额外的参数。
wget -m -k -p https://example.com
-k
标志将使wget转换下载文档中的链接以使其适合本地查看,并且-p
标志将告诉wget下载用于显示HTML页面的所有必要文件。
跳过证书检查
如果要从具有无效的SSL证书的服务器下载文件,请使用以下--no-check-certificate
标志:
wget --no-check-certificate https://domain-with-invalid-ss.com
将下载重定向到标准输出
在下面的示例中,wget将静默地(标记-q
)下载并将最新的WordPress版本输出到stdout(flag -O -
)并将其管道到tar
程序,tar将存档解压缩到/var/www
目录。
wget -q -O - "http://wordpress.org/latest.tar.gz" | tar -xzf - -C /var/www
结论
到目前为止,您应该对最常见的wget选项有一个很好的理解,并且您应该能够使用wget下载多个文件,恢复下载,镜像网站并根据您的需要组合Wget选项。如果您想了解有关Wget的更多信息,请访问GNU wget手册页面。
以上是 Linux中的Wget命令与示例 的全部内容, 来源链接: utcz.com/z/507134.html