GNU Wget是一个命令行程序,用于从Web下载文件。Wget可以让您可以使用HTTP,HTTPS和FTP协议下载文件。
wget提供了许多选项,允许您下载多个文件,恢复下载,限制速度,递归下载,在后台下载,镜像网站等等。
wget
命令现已预安装在大多数Linux发行版。要检查系统是否已安装wget。请按快捷键CTRL+ALT+T
打开终端,运行wget
命令。
如果已安装wget,终端将会输出 wget: missing URL
,否则将提示你 wget command not found
。
如果你的计算机运行的是基于Debian的Linux发行版。例如Linux mint,Ubuntu。请运行命令sudo apt install wget
安装wget。
如果你的计算机运行的是基于RedHat的Linux发行版。例如CentOS,Fedora。请运行命令sudo yum install wget
安装wget。
sudo apt install wget
sudo yum install wget
在介绍如何使用wget命令之前,让我们先回顾一下基本语法。wget命令语法形式是wget [options] [url]
。
options
可选参数,wget命令的选项。url
远程服务器URL,也是可选参数。
在不指定任何参数与选项运行wget命令时,wget
命令下载url指向的文件到当前目录。
在下载过程中,wget会显示进度条以及文件名,文件大小,下载速度和完成下载的预计时间。
如果不需要这些wget的输出,可使用-q
选项关闭,该选项经常用于shell脚本。
下载完成后,当前工作目录中找到下载的文件。如果当前目录存在同名文件,wget命令将在文件名末尾追加数字,不会覆盖已存在的文件。
wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.17.2.tar.xz
要以不同的名称保存下载的文件,请wget
命令的使用-O
选项,后跟文件的名称。
wget -O linux.tar.xz url #指定保存的名称
要以指定不同目录保存下载的文件,请wget
命令的使用-P
选项,后跟文件的名称。
wget -P /mnt/iso url #指定保存的目录
要限制下载速度,请使用wget命令的--limit-rate
选项。值的单位默认是字节,也可以指定单位k
千字节和兆字节m
。
当您不希望wget消耗所有可用带宽时,此选项很有用。
wget --limit-rate=1m url
如果您在下载大文件时丢失连接而中断,则您可以wget命令的使用-c
选项恢复下载。
如果远程服务器不支持断点续传,wget命令将从头开始下载文件并覆盖现有文件。
wget -c url
wget命令-b
选项允许你在后台下载文件。这在下载大文件时非常有用。在后台下载时。
wget
命令的下载状态,也就是wget
命令的标准输出将被重定向到当前目录的wget-log
文件。
要查看wget命令的下载进度等信息,可以运行tail命令tail -f wget-log
查看wget命令的下载状态。
wget -b url
tail -f wget-log
要从受密码保护的FTP服务器下载文件时,您需要指定FTP用户名和密码。使用wget命令的--ftp-user
和--ftp-password
选项。
wget --ftp-user=FTP_USERNAME --ftp-password=FTP_PASSWORD ftp://ftp.example.com/filename.tar.gz
如果要一次下载多个文件,请使用wget
命令-i
选项,后跟要下载包URL的文件。在文件的每URL都需要独占一行。
如果未使用wget
命令-i
选项指定文件名,wget
命令将会从标准输入读取URL。
例如命令wget -i linux-distros.txt
下载linux-distros.txt
文件包含的URL资源。
wget -i linux-distros.txt
http://mirrors.edge.kernel.org/archlinux/iso/2018.06.01/archlinux-2018.06.01-x86_64.iso
https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-9.4.0-amd64-netinst.iso
https://download.fedoraproject.org/pub/fedora/linux/releases/28/Server/x86_64/iso/Fedora-Server-dvd-x86_64-28-1.1.iso
linux-distros.txt
这是非常节省时间的高级技巧,它允许你一边下载一边解压。除了解压之外还可以做你任何想做的事,只要管道右侧的命令允许从标准输入读取即可。
要做到边下载边解压,需要使用wget
命令-q
选项关闭下载状态的标准输出,然后组合使用wget命令的-O -
选项将文件写入标准输出。
最后通过管道|
传递给tar
命令,tar将存档解压缩到/var/www
目录。tar命令的-C
选项指定解压文件写入的目标目录。-
选项从标准输入读取数据。
wget -q -O - "http://wordpress.org/latest.tar.gz" | tar -xzf - -C /var/www
在下载文件时,有些远程服务器会阻止wget命令的默认User-Agent。在这种情况下,你需要模拟不同的浏览器User-Agent。使用wget
命令-U
选项。
wget --user-agent="Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0" http://wget-forbidden.com/
至此,您应该对最常见的wget选项有一个很好的理解,并且您应该能够使用wget载多个文件,恢复下载,根据您的需要组合Wget选项。
全部0条评论
快来发表一下你的评论吧 !