wget
(Web Get)是一个用于从网络上下载文件的命令行工具,常用于在 Linux 和类Unix系统中。它支持HTTP、HTTPS和FTP等协议,能够递归下载、断点续传、限速下载等功能,使其成为一个强大而灵活的下载工具。下面是一些 wget
的常见用法和功能:
命令格式:
wget [options] [URL]
wget URL
,将从给定的URL下载文件。wget URL -P /path/to/directory
,将文件下载到指定目录。以下是 wget
常用的参数分类:
启动参数:
-V
, --version
: 显示 wget
版本信息。-h
, --help
: 显示帮助信息。-b
, –background
, 启动后转入后台执行。-e
, –execute=COMMAND
, 执行`.wgetrc’格式的命令,wgetrc格式参见/etc/wgetrc或~/.wgetrc。记录和输入文件参数:
-o
, --output-file=FILE
: 将日志信息写入指定文件。
-a
, --append-output=FILE
: 将日志信息追加到指定文件。
-d
, –debug
, 打印调试输出。
-q
, –quiet
, 安静模式(没有输出)
-v
, –verbose
, 冗长模式(这是缺省设置)
-nv
, –non-verbose
关掉冗长模式,但不是安静模式。
-i
, –input-file=FILE
下载在FILE文件中出现的URLs
-F
, –force-html
把输入文件当作HTML格式文件对待
-B
, –base=URL
将URL作为在-F -i参数指定的文件中出现的相对链接的前缀
sslcertfile=FILE
可选客户端证书
–sslcertkey=KEYFILE
可选客户端证书的KEYFILE
–egd-file=FILE
指定EGD socket的文件名
下载参数:
-N
, --timestamping
: 如果本地文件存在且时间戳较新,则不重新下载文件。-nc
, --no-clobber
: 不覆盖已存在的文件。-c
, --continue
: 断点续传,从上次下载停止的地方继续下载。-P
, --directory-prefix=PREFIX
: 指定文件保存的目录前缀。-O
, --output-document=FILE
: 将下载的文件保存为指定的文件名。--limit-rate=RATE
: 限制下载速率,例如 --limit-rate=100k
表示限制下载速率为100KB/s。目录参数:
-nd
, --no-directories
: 不创建目录,将所有文件保存在当前目录。-x
, --force-directories
: 强制创建目录,保持远程服务器的目录结构。-nH
, --no-host-directories
: 不创建主机名目录。HTTP 选项参数:
--http-user=USER
: 指定 HTTP 用户名。--http-passwd=PASS
: 指定 HTTP 密码。--header=STRING
: 在 HTTP 请求头中添加自定义字符串。--referer=URL
: 在 HTTP 请求中包含 Referer 头。FTP 选项参数:
--ftp-user=USER
: 指定 FTP 用户名。--ftp-passwd=PASS
: 指定 FTP 密码。--passive-ftp
: 使用被动 FTP 模式。--active-ftp
: 使用主动 FTP 模式。递归下载参数:
-r
, --recursive
: 递归下载,下载指定 URL 及其链接中的所有文件。-l
, --level=NUMBER
: 限定递归深度。-k
, --convert-links
: 转换非相对链接为相对链接,便于本地浏览。递归下载中的包含和不包含(accept/reject):
-A
, --accept=LIST
: 仅下载匹配列表中扩展名的文件。-R
, --reject=LIST
: 排除下载匹配列表中扩展名的文件。其他参数:
-t
, --tries=NUMBER
: 设定最大尝试链接次数。-T
, --timeout=SECONDS
: 设定响应超时的秒数。-w
, --wait=SECONDS
: 两次尝试之间的等待时间。--waitretry=SECONDS
: 在重新链接之间等待的时间。--random-wait
: 在下载之间随机等待一段时间。以上仅是一些常见的 wget
命令参数和选项的解释。根据需要,可以选择适当的参数来定制 wget
的下载行为。可以使用 man wget
命令在终端中查看完整的 wget
手册页,以获取更详细的信息。
wget
支持递归下载整个网站或目录。
wget --recursive URL
,会下载网站中所有链接的文件。wget --recursive --level=depth URL
,下载链接并限制下载深度。wget --recursive --reject=txt URL
,排除指定文件类型。wget
可以在下载中断后继续下载,而无需重新下载整个文件。
wget --continue URL
,会继续上次未完成的下载。你可以限制下载速度,以防止过多占用带宽。
wget --limit-rate=100k URL
,限制下载速度为100KB/s。如果你想让下载在后台进行,可以使用 nohup
命令。
nohup wget URL &
,将下载在后台进行,不会受到终端关闭的影响。这些只是 wget
命令的一些用法示例。wget
还有许多其他选项和功能,你可以使用 man wget
命令在终端中查看完整的手册页面,了解更多详细信息。
实例1:使用 wget
下载单个文件:
wget http://example.com/file.txt
实例2:使用 wget -O
下载并以不同的文件名保存:
wget -O output.txt http://example.com/file.txt
实例3:使用 wget --limit-rate
限速下载:
wget --limit-rate=100k http://example.com/large-file.zip
实例4:使用 wget -c
断点续传:
wget -c http://example.com/large-file.zip
实例5:使用 wget -b
后台下载:
wget -b http://example.com/large-file.zip
实例6:伪装代理名称下载:
wget --user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3" http://example.com/file.txt
实例7:使用 wget --spider
测试下载链接:
wget --spider http://example.com/file.txt
实例8:使用 wget --tries
增加重试次数:
wget --tries=3 http://example.com/unstable-file.zip
实例9:使用 wget -i
下载多个文件:
wget -i urls.txt
其中,urls.txt
包含要下载的多个URL。
实例10:使用 wget --mirror
镜像网站:
wget --mirror http://example.com/
实例11:使用 wget --reject
过滤指定格式下载:
wget --reject=jpg,png http://example.com/images/
实例12:使用 wget -o
将下载信息存入日志文件:
wget -o download.log http://example.com/large-file.zip
实例13:使用 wget -Q
限制总下载文件大小:
wget -Q100m http://example.com/large-file.zip
实例14:使用 wget -r -A
下载指定格式文件:
wget -r -A pdf http://example.com/documents/
实例15:使用 wget
进行 FTP 下载:
wget ftp://example.com/file.txt
实例16:下载文件并保留远程文件名:
wget --content-disposition http://example.com/download/file.zip
实例17:下载文件并跳过 SSL 验证:
wget --no-check-certificate https://example.com/secure-file.zip
实例18:下载并使用代理服务器:
wget --proxy=http://proxy.example.com:8080 http://example.com/file.txt
实例19:限制递归下载深度:
wget --recursive --level=2 http://example.com/
实例20:排除下载指定链接:
wget --recursive --reject=gif,png,jpg http://example.com/images/
实例21:同时下载多个文件并使用通配符:
wget http://example.com/file[1-5].txt
实例22:从链接文件下载多个文件:
如果有一个 urls.txt
文件,包含多个下载链接,可以使用以下命令:
wget -i urls.txt
实例23:从用户名和密码保护的目录下载文件:
wget --http-user=username --http-password=password http://example.com/protected/file.txt
实例24:使用 wget
下载并解压文件:
wget http://example.com/archive.tar.gz && tar -zxvf archive.tar.gz
实例25:使用 wget
下载并解压压缩包到指定目录:
wget http://example.com/archive.tar.gz -O - | tar -zxvf - -C /path/to/directory
实例26:使用 wget
下载文件并指定本地绑定地址:
wget --bind-address=192.168.1.2 http://example.com/file.txt
实例27:使用 wget
设定最大尝试链接次数:
wget -t 5 http://example.com/file.txt
实例28:使用 wget
将文件写入指定文件:
wget -O output.txt http://example.com/file.txt
实例29:使用 wget
不覆盖已存在文件:
wget -nc http://example.com/file.txt
实例30:使用 wget
接着下载未完成的文件:
wget -c http://example.com/large-file.zip
实例31:使用 wget
显示下载进度条:
wget --progress=bar http://example.com/file.txt
实例32:使用 wget
设定响应超时时间:
wget -T 30 http://example.com/file.txt
实例33:使用 wget
两次尝试之间间隔等待时间:
wget -w 5 http://example.com/file.txt
实例34:使用 wget
在重新链接之间等待指定时间:
wget --waitretry=10 http://example.com/file.txt
实例35:使用 wget
在下载之间随机等待一段时间:
wget --random-wait http://example.com/file.txt
实例36:使用 wget
打开代理:
wget --proxy=on http://example.com/file.txt
实例37:使用 wget
设定下载容量限制:
wget -Q 100M http://example.com/large-file.zip