wget 详解

wget 详解

wget(Web Get)是一个用于从网络上下载文件的命令行工具,常用于在 Linux 和类Unix系统中。它支持HTTP、HTTPS和FTP等协议,能够递归下载、断点续传、限速下载等功能,使其成为一个强大而灵活的下载工具。下面是一些 wget 的常见用法和功能:

基本用法:

命令格式:

wget [options] [URL]
  1. 下载文件:wget URL,将从给定的URL下载文件。
  2. 下载到指定目录: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 支持递归下载整个网站或目录。

  1. 递归下载整个网站:wget --recursive URL,会下载网站中所有链接的文件。
  2. 递归下载并限制深度:wget --recursive --level=depth URL,下载链接并限制下载深度。
  3. 排除某些文件类型:wget --recursive --reject=txt URL,排除指定文件类型。

断点续传:

wget 可以在下载中断后继续下载,而无需重新下载整个文件。

  1. 断点续传:wget --continue URL,会继续上次未完成的下载。

限速下载:

你可以限制下载速度,以防止过多占用带宽。

  1. 限制下载速度:wget --limit-rate=100k URL,限制下载速度为100KB/s。

后台下载:

如果你想让下载在后台进行,可以使用 nohup 命令。

  1. 后台下载: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
  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Persus

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值