WGET命令详解
GNU Wget是一个在网络上进行下载的简单而强大的自由软件,其本身也是GNU计划的一部分。它的名字是「World Wide Web」和「Get」的结合,同时也隐含了软件的主要功能。目前它支持通过HTTP、HTTPS,以及FTP这三个最常见的TCP/IP协议协议下载。
GNU Wget 1.10.2 (Red Hat modified), a non-interactive network retriever. 用法: wget [选项]... [URL]... 长选项必须用的参数在使用短选项时也是必须的。 启动: -V, --version 显示 Wget 的版本并且退出。 -h, --help 打印此帮助。 -b, -background 启动后进入后台操作。 -e, -execute=COMMAND 运行‘.wgetrc’形式的命令。 日志记录及输入文件:
-o, --output-file=文件 将日志消息写入到指定文件中。 -a, --append-output=文件 将日志消息追加到指定文件的末端。 -d, --debug 打印调试输出。 -q, --quiet 安静模式(不输出信息)。 -v, --verbose 详细输出模式(默认)。 -nv, --non-verbose 关闭详细输出模式,但不进入安静模式。 -i, --input-file=文件 下载从指定文件中找到的 URL。 -F, --force-html 以 HTML 方式处理输入文件。 -B, --base=URL 使用 -F -i 文件选项时,在相对链接前添加指定的 URL。 下载: -t, --tries=次数 配置重试次数(0 表示无限)。 --retry-connrefused 即使拒绝连接也重试。 -O --output-document=文件 将数据写入此文件中。
-nc, --no-clobber 不更改已经存在的文件,也不使用在文件名后 添加 .#(# 为数字)的方法写入新的文件。 -c, --continue 继续接收已下载了一部分的文件。 --progress=方式 选择下载进度的表示方式。 -N, --timestamping 除非远程文件较新,否则不再取回。 -S, --server-response 显示服务器回应消息。 --spider 不下载任何数据。 -T, --timeout=秒数 配置读取数据的超时时间 (秒数)。 -w, --wait=秒数 接收不同文件之间等待的秒数。 --waitretry=秒数 在每次重试之间稍等一段时间 (由 1 秒至指定的 秒数不等)。 --random-wait 接收不同文件之间稍等一段时间(由 0 秒至 2*WAIT 秒不等)。 -Y, --proxy=on/off 打开或关闭代理服务器。 -Q, --quota=大小 配置接收数据的限额大小。
--bind-address=地址 使用本机的指定地址 (主机名称或 IP) 进行连接。 --limit-rate=速率 限制下载的速率。 --dns-cache=off 禁止查找存于高速缓存中的 DNS。 --restrict-file-names=OS 限制文件名中的字符为指定的 OS (操作系统) 所允许的字符。 目录: -nd --no-directories 不创建目录。 -x, --force-directories 强制创建目录。 -nH, --no-host-directories 不创建含有远程主机名称的目录。 -P, --directory-prefix=名称 保存文件前先创建指定名称的目录。 --cut-dirs=数目 忽略远程目录中指定数目的目录层。 HTTP 选项: --http-user=用户 配置 http 用户名。 --http-passwd=密码 配置 http 用户密码。
-C, --cache=on/off (不)使用服务器中的高速缓存中的数据 (默认是使用的)。 -E, --html-extension 将所有 MIME 类型为 text/html 的文件都加上 .html 扩展文件名。 --ignore-length 忽略“Content-Length”文件头字段。 --header=字符串 在文件头中添加指定字符串。 --proxy-user=用户 配置代理服务器用户名。 --proxy-passwd=密码 配置代理服务器用户密码。 --referer=URL 在 HTTP 请求中包含“Referer:URL”头。 -s, --save-headers 将 HTTP 头存入文件。 -U, --user-agent=AGENT 标志为 AGENT 而不是 Wget/VERSION。 --no-http-keep-alive 禁用 HTTP keep-alive(持久性连接)。 --cookies=off 禁用 cookie。 --load-cookies=文件 会话开始前由指定文件载入 cookie。 --save-cookies=文件 会话结束后将 cookie 保存至指定文件。
--post-data=字符串 使用 POST 方法,发送指定字符串。 --post-file=文件 使用 POST 方法,发送指定文件中的内容。 HTTPS (SSL) 选项: --sslcertfile=文件 可选的客户段端证书。 --sslcertkey=密钥文件 对此证书可选的“密钥文件”。 --egd-file=文件 EGD socket 文件名。 --sslcadir=目录 CA 散列表所在的目录。 --sslcafile=文件 包含 CA 的文件。 --sslcerttype=0/1 Client-Cert 类型 0=PEM (默认) / 1=ASN1 (DER) --sslcheckcert=0/1 根据提供的 CA 检查服务器的证书 --sslprotocol=0-3 选择 SSL 协议;0=自动选择, 1=SSLv2 2=SSLv3 3=TLSv1 FTP 选项:
-nr, --dont-remove-listing 不删除“.listing”文件。 -g, --glob=on/off 设置是否展开有通配符的文件名。 --passive-ftp 使用“被动”传输模式。 --retr-symlinks 在递归模式中,下载链接所指示的文件(连至目录则例外)。 递归下载: -r, --recursive 递归下载。 -l, --level=数字 最大递归深度(inf 或 0 表示无限)。 --delete-after 删除下载后的文件。 -k, --convert-links 将绝对链接转换为相对链接。 -K, --backup-converted 转换文件 X 前先将其备份为 X.orig。 -m, --mirror 等效于 -r -N -l inf -nr 的选项。 -p, --page-requisites 下载所有显示完整网页所需的文件,例如图像。 --strict-comments 打开对 HTML 备注的严格(SGML)处理选项。
递归下载时有关接受/拒绝的选项: -A, --accept=列表 接受的文件样式列表,以逗号分隔。 -R, --reject=列表 排除的文件样式列表,以逗号分隔。 -D, --domains=列表 接受的域列表,以逗号分隔。 --exclude-domains=列表 排除的域列表,以逗号分隔。 --follow-ftp 跟随 HTML 文件中的 FTP 链接。 --follow-tags=列表 要跟随的 HTML 标记,以逗号分隔。 -G, --ignore-tags=列表 要忽略的 HTML 标记,以逗号分隔。 -H, --span-hosts 递归时可进入其它主机。 -L, --relative 只跟随相对链接。 -I, --include-directories=列表 要下载的目录列表。 -X, --exclude-directories=列表 要排除的目录列表。 -np, --no-parent 不搜索上层目录。
CentOS wget 使用技巧
$ CentOS wget -r -np -nd http://example.com/packages/ 这条命令可以下载 http://example.com 网站上 packages 目录中的所有文件。其中,-np 的作用是不遍历父目录,-nd 表示不在本机重新创建目录结构。
$ CentOS wget-r -np -nd --accept=iso http://example.com/centos-5/i386/ 与上一条命令相似,但多加了一个 --accept=iso 选项,这指示CentOS wget仅下载 i386 目录中所有扩展名为 iso 的文件。你也可以指定多个扩展名,只需用逗号分隔即可。
$ CentOS wget -i filename.txt 此命令常用于批量下载的情形,把所有需要下载文件的地址放到 filename.txt 中,然后 CentOS wget 就会自动为你下载所有文件了。
$ CentOS wget -c http://example.com/really-big-file.iso 这里所指定的 -c 选项的作用为断点续传。
$ CentOS wget -m -k (-H) http://www.example.com/ 该命令可用来镜像一个网站,CentOS wget将对链接进行转换。如果网站中的图像是放在另外的站点,那么可以使用 -H 选项。
CentOS wget 使用指南
CentOS wget是一个从网络上自动下载文件的自由工具。它支持HTTP,HTTPS和FTP协议,可以使用HTTP代理. 所谓的自动下载是指,CentOS wget可以在用户退出系统的之后在后台执行。这意味这你可以登录系统,启动一个CentOS wget下载任务,然
后退出系统,CentOS wget将在后台执行直到任务完成,相对于其它大部分浏览器在下载大量数据时需要用户一直的参与,这省去了极大的麻烦。
wget可以跟踪HTML页面上的链接依次下载来创建远程服务器的本地版本,完全重建原始站点的目录结构。这又常被称作\"递归下载\"。在递归下载的时候,wget遵循Robot Exclusion标准(/robots.txt). wget可以在下载的同时,将链接转换成指向本地文件,以方便离线浏览。
wget非常稳定,它在带宽很窄的情况下和不稳定网络中有很强的适应性.如果是由于网络的原因下载失败,wget会不断的尝试,直到整个文件下载完毕。如果是服务器打断下载过程,它会再次联到服务器上从停止的地方继续下载。这对从那些限定了链接时间的服务器上下载大文件非常有用。
wget的常见用法wget的使用格式
Usage: wget [OPTION]... [URL]...用wget做站点镜像: wget -r -p -np -k http://dsec.pku.edu.cn/~usr_name/#
或
者
wget
-m
http://www.tldp.org/LDP/abs/html/在不稳定的网络上下载一个部分下载的文件,以及在空闲时段下载 wget -t 0 -w 31 -c http://dsec.pku.edu.cn/BBC.avi -o down.log 或者从filelist读入要下载的文件列表
wget -t 0 -w 31 -c -B ftp://dsec.pku.edu.cn/linuxsoft -i filelist.txt -o down.log &
上面的代码还可以用来在网络比较空闲的时段进行下载。我的用法是:在mozilla中将
不方便当时下载的URL链接拷贝到内存中然后粘贴到文件filelist.txt中,在晚上要出去系统前执行上面代码的第二条。
使用代理下载 wget -Y on -p -k https://sourceforge.net/projects/wvware/代理可以在环境变量或wgetrc文件中设定 # 在环境变量中设定代理export PROXY=http://211.90.168.94:8080/# 在~/.wgetrc中设定代理
http_proxy = http://proxy.yoyodyne.com:18023/
ftp_proxy = http://proxy.yoyodyne.com:18023/
wget各种选项分类列表启动
-V, --version 显示wget的版本后退出
-h, --help 打印语法帮助
-b, --background 启动后转入后台执行
-e, --execute=COMMAND 执行`.wgetrc'格式的命令,wgetrc格式参见/etc/wgetrc或~/.wgetrc
记录和输入文件
-o, --output-file=FILE 把记录写到FILE文件中
-a, --append-output=FILE 把记录追加到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的文件名
下载
--bind-address=ADDRESS 指定本地使用地址(主机名或IP,当本地有多个IP或名
字时使用)
-t, --tries=NUMBER 设定最大尝试链接次数(0 表示无限制).
-O --output-document=FILE 把文档写到FILE文件中
-nc, --no-clobber 不要覆盖存在的文件或使用.#前缀
-c, --continue 接着下载没下载完的文件
--progress=TYPE 设定进程条标记
-N, --timestamping 不要重新下载文件除非比本地文件新
-S, --server-response 打印服务器的回应
--spider 不下载任何东西
-T, --timeout=SECONDS 设定响应超时的秒数
-w, --wait=SECONDS 两次尝试之间间隔SECONDS秒
--waitretry=SECONDS 在重新链接之间等待1...SECONDS秒
--random-wait 在下载之间等待0...2*WAIT秒
-Y, --proxy=on/off 打开或关闭代理
-Q, --quota=NUMBER 设置下载的容量限制
--limit-rate=RATE 限定下载输率
目录
-nd --no-directories 不创建目录
-x, --force-directories 强制创建目录
-nH, --no-host-directories 不创建主机目录
-P, --directory-prefix=PREFIX 将文件保存到目录 PREFIX/...
--cut-dirs=NUMBER 忽略 NUMBER层远程目录
HTTP 选项
--http-user=USER 设定HTTP用户名为 USER.
--http-passwd=PASS 设定http密码为 PASS.
-C, --cache=on/off 允许/不允许服务器端的数据缓存 (一般情况下允许).
-E, --html-extension 将所有text/html文档以.html扩展名保存
--ignore-length 忽略 `Content-Length'头域
--header=STRING 在headers中插入字符串 STRING
--proxy-user=USER 设定代理的用户名为 USER
--proxy-passwd=PASS 设定代理的密码为 PASS
--referer=URL 在HTTP请求中包含 `Referer: URL'头
-s, --save-headers 保存HTTP头到文件
-U, --user-agent=AGENT 设定代理的名称为 AGENT而不是 Wget/VERSION.
--no-http-keep-alive 关闭 HTTP活动链接 (永远链接).
--cookies=off 不使用 cookies.
--load-cookies=FILE 在开始会话前从文件 FILE中加载cookie
--save-cookies=FILE 在会话结束后将 cookies保存到 FILE文件中
FTP 选项
-nr, --dont-remove-listing 不移走 `.listing'文件
-g, --glob=on/off 打开或关闭文件名的 globbing机制
--passive-ftp 使用被动传输模式 (缺省值).
--active-ftp 使用主动传输模式
--retr-symlinks 在递归的时候,将链接指向文件(而不是目录)
递归下载
-r, --recursive 递归下载--慎用!
-l, --level=NUMBER 最大递归深度 (inf 或 0 代表无穷).
--delete-after 在现在完毕后局部删除文件
-k, --convert-links 转换非相对链接为相对链接
-K, --backup-converted 在转换文件X之前,将之备份为 X.orig
-m, --mirror 等价于 -r -N -l inf -nr.
-p, --page-requisites 下载显示HTML文件的所有图片
递归下载中的包含和不包含(accept/reject)
-A, --accept=LIST 分号分隔的被接受扩展名的列表
-R, --reject=LIST 分号分隔的不被接受的扩展名的列表
-D, --domains=LIST 分号分隔的被接受域的列表
--exclude-domains=LIST 分号分隔的不被接受的域的列表
--follow-ftp 跟踪HTML文档中的FTP链接
--follow-tags=LIST 分号分隔的被跟踪的HTML标签的列表
-G, --ignore-tags=LIST 分号分隔的被忽略的HTML标签的列表
-H, --span-hosts 当递归时转到外部主机
-L, --relative 仅仅跟踪相对链接
-I, --include-directories=LIST 允许目录的列表
-X, --exclude-directories=LIST 不被包含目录的列表
-np, --no-parent 不要追溯到父目录
因篇幅问题不能全部显示,请点此查看更多更全内容