Linux命令 wget


原文链接: Linux命令 wget

wget http://tel.mirrors.163.com/centos/6.4/isos/x86_64/CentOS-6.4-x86_64-bin-DVD1.iso # 下载centos境像
wget -c http://www.jetbrains.com/webstorm/download/download-thanks.html?platform=linux # 断点续传下载文件

wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh | bash
wget -P /home/download http://tel.mirrors.163.com/centos/6.4/isos/x86_64/CentOS-6.4-x86_64-bin-DVD1.iso #指定目录下载
wget -Q 1M http://tel.mirrors.163.com/centos/6.4/isos/x86_64/CentOS-6.4-x86_64-bin-DVD1.iso #限定最大下载速度
wget -r -np -nd http://tel.mirrors.163.com/centos/6.4/os/x86_64/ #下载 http://tel.mirrors.163.com/centos/6.4/os/x86_64/ 目录中的所有文件
wget -c -r --level=1 -k -p -np http://docs.Python.org/2/tutorial/index.html #下载一个网站的本地镜像

下载文件

-c, --continue 断点续传下载文件。
-x, --force-directories 强制创建目录。
-P, --directory-prefix=PREFIX 指定目录下载

常用辅助参数

-q, --quiet 安静模式 (无信息输出)。

$ wget -r -np -nd http://example.com/packages/

这条命令可以下载 http://example.com 网站上 packages 目录中的所有文件。其中,-np 的作用是不遍历父目录,-nd 表示不在本机重新创建目录结构。

$ wget -r -np -nd --accept=iso http://example.com/centos-5/i386/

与上一条命令相似,但多加了一个 --accept=iso 选项,这指示 wget 仅下载 i386 目录中所有扩展名为 iso 的文件。你也可以指定多个扩展名,只需用逗号分隔即可。

$ wget -i filename.txt

此命令常用于批量下载的情形,把所有需要下载文件的地址放到 filename.txt 中,然后 wget 就会自动为你下载所有文件了。

$ wget -c http://example.com/really-big-file.iso

这里所指定的 -c 选项的作用为断点续传。

$ wget -m -k (-H) http://www.example.com/

该命令可用来镜像一个网站,wget 将对链接进行转换。如果网站中的图像是放在另外的站点,那么可以使用 -H 选项。


用法: wget [选项]... [URL]...

长选项所必须的参数在使用短选项时也是必须的。

启动:
-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 选项指定)。
   --config=FILE         Specify config file to use.

下载:
-t, --tries=NUMBER 设置重试次数为 NUMBER (0 代表无限制)。

   --retry-connrefused       即使拒绝连接也是重试。

-O, --output-document=FILE 将文档写入 FILE。
-nc, --no-clobber skip downloads that would download to

                             existing files (overwriting them).

-c, --continue 断点续传下载文件。

   --progress=TYPE           选择进度条类型。

-N, --timestamping 只获取比本地文件新的文件。
--no-use-server-timestamps 不用服务器上的时间戳来设置本地文件。
-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.5*WAIT...1.5*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 作为默认远程编码。
   --unlink                  remove file before clobber.

目录:
-nd, --no-directories 不创建目录。
-x, --force-directories 强制创建目录。
-nH, --no-host-directories 不要创建主目录。

   --protocol-directories     在目录中使用协议名称。

-P, --directory-prefix=PREFIX 以 PREFIX/... 保存文件

   --cut-dirs=NUMBER          忽略远程目录中 NUMBER 个目录层。

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 (SSL/TLS) 选项:

   --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 套接字的文件。

FTP 选项:

   --ftp-user=USER         设置 ftp 用户名为 USER。
   --ftp-password=PASS     设置 ftp 密码为 PASS。
   --no-remove-listing     不要删除‘.listing’文件。
   --no-glob               不在 FTP 文件名中使用通配符展开。
   --no-passive-ftp        禁用“passive”传输模式。
   --retr-symlinks         递归目录时,获取链接的文件 (而非目录)。

递归下载:
-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    用严格方式 (SGML) 处理 HTML 注释。

递归接受/拒绝:
-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 允许目录的列表。
--trust-server-names use the name specified by the redirection

                               url last component.

-X, --exclude-directories=LIST 排除目录的列表。
-np, --no-parent 不追溯至父目录。

`