wget命令详解
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