wget命令详解

TOC

wget命令简介

wget是一个免费实用的非交互式下载文件工具,支持http、https和ftp协议
wget非常稳定好用,如果网络不太稳定而下载失败,wget回不断尝试,直到文件下载完成,如果服务器打断下载过程,wget也会再次连接到服务器从停止的地方继续下载,这样wget下载大文件的时候就很靠谱

wget语法和选项

命令语法:wget【选项】【url地址】
选项和参数:

  • -O, --output-document=file:另存为指定名称文件
  • -P, --directory-prefix=prefix:将文件保存到指定目录
  • -r:递归下载方式
  • -c:断点续传下载文件
  • -i, -–input-file=file:指定文件,批量下载文件里面的url
  • –http-user=user:设置http用户名
  • –http-passwd=pass:设置http密码
  • -b, --background:启动后转入后台
  • -o, --output-file=FILE:将日志信息写入file
  • -a, --append-output=FILE:将信息添加至file
  • -d, --debug:打印大量调试信息
  • -q, --quiet:无信息输出(安静模式)
  • -v, --verbose:详尽的输出 (此为默认值)
  • -nv, --no-verbose:关闭详尽输出,但不进入安静模式
  • –report-speed=TYPE:输出带宽为TYPE。唯一接受的值是’bits’
  • -F, --force-html:把输入文件当成HTML 文件
  • -B, --base=URL:解析与URL相关的HTML输入文件
  • –config=FILE:指定要使用的启动文件的位置,而不是默认位置

常用文件下载

默认下载

不添加选项保持原文件名下载。
命令格式:

wget <URL地址>(精确到文件名)

【示例】

wget http://www.example.com/release/package.tgz

重命名本地文件名

使用-O选项下载文件并保存为指定的新名字,也可以指定目录位置和新名字。
命令格式:

wget -O <新文件名> <URL地址>(精确到文件名)

【示例】

wget -O pkg.tgz http://www.example.com/release/package.tgz

指定下载目录

使用-P选项指定下载文件到本地的什么目录位置。
命令格式:

wget -P <指定本地路径> <URL地址>(精确到文件名)

【示例】

wget -P /downloads/ http://www.example.com/release/package.tgz

读取文件列表下载

使用-i选项指定文件,并读取文件列表中的URL依次进行下载。
命令格式:

wget -i <URL地址列表文件>

【示例】

wget -i urls.txt

断点续传下载

使用-c选项实现断点续传,就是继续上次未完成的下载。
命令格式:

wget -c <URL地址>(精确到文件名)

【示例】

wget -c http://www.example.com/release/package.tgz

后台下载

使用-b选项进行后台下载,并写入日志到wget-log文件下。
命令格式:

wget -b <URL地址>(精确到文件名)

【示例】

wget -b http://www.example.com/release/package.tgz

递归下载

递归下载目录

使用-r选项即可递归下载网站目录。
命令格式:

wget -r <URL地址>

【示例】

wget -r https://www.example.com/

递归下载但不进入父目录

加上-np选项可以在递归下载的时候避免下载上级目录内容。
命令格式:

wget -r -np <URL地址>

【示例】

wget -r -np https://example.com/release/

递归下载但不创建任何目录

加上-nd选项可以在递归下载时候不创建任何目录。
命令格式:

wget -r -nd <URL地址>

【示例】

wget -r -nd https://www.example.com/release/

设置递归层数

使用-l <层数数量>选项可以限制递归下载的层数。
命令格式:

wget -r -l <层数数量> <URL地址>

【示例】

wget -r -l 2 https://example.com/release/

下载整个网站

使用-m选项镜像下载整个网站,相当于使用-r -N -l inf --no-remove-listing选项参数。
命令格式:

wget -m <URL地址>

【示例】

wget -m https://www.example.com/

下载网站转化为本地目录

使用-k选项将下载的 HTML 页面中的链接转换为本地可用路径。
命令格式:

wget -r -k <URL地址>

【示例】

wget -r -k https://www.example.com/

ftp下载

默认不加选项和参数访问无须用户认证的ftp进行下载。
命令格式:

wget ftp://<ftp地址>/<文件地址>(精确到文件名)

【示例】

wget ftp://192.168.100.101/file.zip

使用--ftp-user=<用户名>--ftp-password=<密码>选项添加用户认证验证访问ftp进行下载。
命令格式:

wget --ftp-user=<用户名> --ftp-password=<密码> ftp://<ftp地址>/<文件地址>(精确到文件名)

【示例】

wget --ftp-user=ftpuser --ftp-password=ftppassword ftp://192.168.100.101/file.zip

高级用法

用户认证

通过--http-user=<用户名>--http-password=<密码>选项进行访问用户认证的资源下载。
命令格式:

wget --http-user=<用户名> --http-password=<密码> <URL地址>(精确到文件名)

【示例】

wget --http-user=admin --http-password=123456 http://www.example.com/file.zip

忽略HTTPS证书验证

使用--no-check-certificate选项可以忽略HTTPS证书的验证。
命令格式:

wget -no-check-certificate <URL地址>(精确到文件名)

【示例】

wget -no-check-certificate https://www.example.com/file.zip

添加请求头

使用--header="KEY: VALUE"选项添加自定义请求头。
命令格式:

wget --header="<header头数据>" <URL地址>

【示例】

wget --header="Authorization: Bearer <token>" http://api.example.com/data

指定扩展名下载

使用-A选项可以指定下载扩展名类型的文件,一般配合-r递归下载使用。
命令格式:

wget -r -np -nd -A <文件类型> <URL地址>

【示例】

wget -r -np -nd -A zip https://www.example.com/release

指定多个类型中间使用,符号隔开。
命令格式:

wget -r -np -nd -A <文件类型列表> <URL地址>

【示例】

wget -A png,jpg,jpeg https://www.example.com/release

网络与连接参数

限速下载

使用--limit-rate=<速度>选项可以限制网络下载速度,支持单位k/m。
命令格式:

wget --limit-rate=<速度> <URL地址>(精确到文件名)

【示例】

wget --limit-rate=200k https://www.example.com/file.zip

重试次数

使用-t <次数>选项设置重试次数,超过次数则不重试报错失败,默认为20。
命令格式:

wget -t <次数> <URL地址>(精确到文件名)

【示例】

wget -t 3 https://www.example.com/file.zip

超时时间

使用-T <时间:秒>或者--timeout=<秒数>选项设置超时时间。
命令格式:

wget -T <时间:秒> <URL地址>(精确到文件名)

【示例】

wget -T 30 https://www.example.com/file.zip

调试选项

输出日志到文件

使用-o选项打印下载的日志到日志文件里面记录。
命令格式:

wget -o <日志文件> <URL地址>(精确到文件名)

【示例】

wget -o download.log https://www.example.com/file.zip

显示更多调试日志信息

使用-d选项可以打印出更多的日志信息进行调试。
命令格式:

wget -d <URL地址>(精确到文件名)

【示例】

wget -d https://www.example.com/file.zip

静默模式

使用-q选项启动静默模式,不输出下载信息。
命令格式:

wget -q <URL地址>(精确到文件名)

【示例】

wget -q https://www.example.com/file.zip