wget命令详解以及常用组合
# 如果备份的是网站根目录,例如https://www.egouz.com/,则使用如下命令(不遍历父目录 -nq)
wget -m -t 10 -T 180 -c -np -q --execute robots=off https://www.egouz.com/ec/
# 如果从网站的子目录开始备份,且备份整个网站(遍历父目录)
wget -m -t 10 -T 180 -c -q --execute robots=off https://www.egouz.com/ec/
wget命令详解
启动
| 命令 | 
详解 | 
| -V,  --version | 
显示 Wget 的版本信息并退出。 | 
| -h,  --help | 
打印此帮助。 | 
| -b,  --background | 
启动后转入后台。 | 
| -e,  --execute=COMMAND | 
运行一个‘.wgetrc’风格的命令。 | 
输入输出文件
| 命令 | 
详解 | 
| -o,  --output-file=FILE | 
将信息写入 FILE。 | 
| -a,  --append-output=FILE | 
将信息添加至 FILE。 | 
| -d,  --debug | 
打印大量调试信息。 | 
| -q,  --quiet | 
安静模式(无信息输出)。 | 
| -v,  --verbose | 
详尽的输出(此为默认值)。 | 
| -nv, --no-verbose | 
关闭详尽输出,但不进入安静模式。 | 
| -i,  --input-file=FILE | 
下载本地或外部 FILE 中的 URLs。 | 
| -F,  --force-html | 
把输入文件当成 HTML 文件。 | 
| -B,  --base=URL | 
解析与 URL 相关的HTML 输入文件(由 -i -F 选项指定)。 | 
下载
| 命令 | 
详解 | 
| -t,  --tries=NUMBER | 
设置重试次数为 NUMBER (0 代表无限制)。 | 
| --retry-connrefused | 
即使拒绝连接也是重试。 | 
| -O,  --output-document=FILE | 
将文档写入 FILE。 | 
| -nc, --no-clobber | 
不要重复下载已存在的文件。 | 
| -c,  --continue | 
继续下载部分下载的文件。 | 
| --progress=TYPE | 
选择进度条类型。 | 
| -N,  --timestamping | 
只获取比本地文件新的文件。 | 
| -S,  --server-response | 
打印服务器响应。 | 
| --spider | 
不下载任何文件。 | 
| -T,  --timeout=SECONDS | 
将所有超时设为 SECONDS 秒。 | 
| --dns-timeout=SECS | 
设置 DNS 查寻超时为 SECS 秒。 | 
| --connect-timeout=SECS | 
设置连接超时为 SECS 秒。 | 
| --read-timeout=SECS | 
设置读取超时为 SECS 秒。 | 
| -w,  --wait=SECONDS | 
等待间隔为 SECONDS 秒。 | 
| --waitretry=SECONDS | 
在取回文件的重试期间等待 1..SECONDS 秒。 | 
| --random-wait | 
取回时等待 0...2*WAIT 秒。 | 
| --no-proxy | 
关闭代理。 | 
| -Q,  --quota=NUMBER | 
设置取回配额为 NUMBER 字节。 | 
| --bind-address=ADDRESS | 
绑定至本地主机上的 ADDRESS (主机名或是 IP)。 | 
| --limit-rate=RATE | 
限制下载速率为 RATE。 | 
| --no-dns-cache | 
关闭 DNS 查寻缓存。 | 
| --restrict-file-names=OS | 
限定文件名中的字符为 OS 允许的字符。 | 
| --ignore-case | 
匹配文件/目录时忽略大小写。 | 
| -4,  --inet4-only | 
仅连接至 IPv4 地址。 | 
| -6,  --inet6-only | 
仅连接至 IPv6 地址。 | 
| --prefer-family=FAMILY | 
首先连接至指定协议的地址,FAMILY 为 IPv6,IPv4 或是 none。 | 
| --user=USER | 
将 ftp 和 http 的用户名均设置为 USER。 | 
| --password=PASS | 
将 ftp 和 http 的密码均设置为 PASS。 | 
| --ask-password | 
提示输入密码。 | 
| --no-iri | 
关闭 IRI 支持。 | 
| --local-encoding=ENC | 
IRI 使用 ENC 作为本地编码。 | 
| --remote-encoding=ENC | 
使用 ENC 作为默认远程编码。 | 
目录
| 命令 | 
详解 | 
| -nd, --no-directories | 
不创建目录。 | 
| -x,  --force-directories | 
强制创建目录。 | 
| -nH, --no-host-directories | 
不要创建主目录。 | 
| --protocol-directories | 
在目录中使用协议名称。 | 
| -P,  --directory-prefix=PREFIX | 
以 PREFIX/... 保存文件 | 
| --cut-dirs=NUMBER | 
忽略 NUMBER 个远程目录路径。 | 
递归下载
| 命令 | 
详解 | 
| -r,  --recursive | 
指定递归下载。 | 
| -l,  --level=NUMBER | 
最大递归深度( inf 或 0 代表无限制,即全部下载)。 | 
| --delete-after | 
下载完成后删除本地文件。 | 
| -k,  --convert-links | 
让下载得到的 HTML 或 CSS 中的链接指向本地文件。 | 
| -K,  --backup-converted | 
在转换文件 X 前先将它备份为 X.orig。 | 
| -m,  --mirror | 
-N -r -l inf --no-remove-listing 的缩写形式。 | 
| -p,  --page-requisites | 
下载所有用于显示 HTML 页面的图片之类的元素。 | 
| --strict-comments | 
开启 HTML 注释的精确处理(SGML)。 | 
列表与排除
| 命令 | 
详解 | 
| -A,  --accept=LIST | 
逗号分隔的可接受的扩展名列表。 | 
| -R,  --reject=LIST | 
逗号分隔的要拒绝的扩展名列表。 | 
| -D,  --domains=LIST | 
逗号分隔的可接受的域列表。 | 
| --exclude-domains=LIST | 
逗号分隔的要拒绝的域列表。 | 
| --follow-ftp | 
跟踪 HTML 文档中的 FTP 链接。 | 
| --follow-tags=LIST | 
逗号分隔的跟踪的 HTML 标识列表。 | 
| --ignore-tags=LIST | 
逗号分隔的忽略的 HTML 标识列表。 | 
| -H,  --span-hosts | 
递归时转向外部主机。 | 
| -L,  --relative | 
只跟踪有关系的链接。 | 
| -I,  --include-directories=LIST | 
允许目录的列表。 | 
| -X,  --exclude-directories=LIST | 
排除目录的列表。 | 
| -np, --no-parent | 
不追溯至父目录。 | 
FTP
| 命令 | 
详解 | 
| --ftp-user=USER | 
设置 ftp 用户名为 USER。 | 
| --ftp-password=PASS | 
设置 ftp 密码为 PASS。 | 
| --no-remove-listing | 
不要删除‘.listing’文件。 | 
| --no-glob | 
不在 FTP 文件名中使用通配符展开。 | 
| --no-passive-ftp | 
禁用“passive”传输模式。 | 
| --retr-symlinks | 
递归目录时,获取链接的文件(而非目录)。 | 
HTTP
| 命令 | 
详解 | 
| --http-user=USER | 
设置 http 用户名为 USER。 | 
| --http-password=PASS | 
设置 http 密码为 PASS。 | 
| --no-cache | 
不在服务器上缓存数据。 | 
| --default-page=NAME | 
改变默认页(默认页通常是“index.html”)。 | 
| -E,  --adjust-extension | 
以合适的扩展名保存 HTML/CSS 文档。 | 
| --ignore-length | 
忽略头部的‘Content-Length’区域。 | 
| --header=STRING | 
在头部插入 STRING。 | 
| --max-redirect | 
每页所允许的最大重定向。 | 
| --proxy-user=USER | 
使用 USER 作为代理用户名。 | 
| --proxy-password=PASS | 
使用 PASS 作为代理密码。 | 
| --referer=URL | 
在 HTTP 请求头包含‘Referer: URL’。 | 
| --save-headers | 
将 HTTP 头保存至文件。 | 
| -U,  --user-agent=AGENT | 
标识为 AGENT 而不是 Wget/VERSION。 | 
| --no-http-keep-alive | 
禁用 HTTP keep-alive(永久连接)。 | 
| --no-cookies | 
不使用 cookies。 | 
| --load-cookies=FILE | 
会话开始前从 FILE 中载入 cookies。 | 
| --save-cookies=FILE | 
会话结束后保存 cookies 至 FILE。 | 
| --keep-session-cookies | 
载入并保存会话(非永久) cookies。 | 
| --post-data=STRING | 
使用 POST 方式;把 STRING 作为数据发送。 | 
| --post-file=FILE | 
使用 POST 方式;发送 FILE 内容。 | 
| --content-disposition | 
当选中本地文件名时,允许 Content-Disposition 头部(尚在实验)。 | 
| --auth-no-challenge | 
在不等待服务器质询的情况下发送基本的HTTP身份验证信息。 | 
HTTPS
| 命令 | 
详解 | 
| --secure-protocol=PR | 
选择安全协议,可以是 auto、SSLv2、SSLv3 或是 TLSv1 中的一个。 | 
| --no-check-certificate | 
不要验证服务器的证书。 | 
| --certificate=FILE | 
客户端证书文件。 | 
| --certificate-type=TYPE | 
客户端证书类型, PEM 或 DER。 | 
| --private-key=FILE | 
私钥文件。 | 
| --private-key-type=TYPE | 
私钥文件类型, PEM 或 DER。 | 
| --ca-certificate=FILE | 
带有一组 CA 认证的文件。 | 
| --ca-directory=DIR | 
保存 CA 认证的哈希列表的目录。 | 
| --random-file=FILE | 
带有生成 SSL PRNG 的随机数据的文件。 | 
| --egd-file=FILE | 
用于命名带有随机数据的 EGD 套接字的文件。 |