注册 登录

清河洛

Linux中的文件下载命令wget

qingheluo2016-12-17清河洛419
命令格式:wget [参数] [URL地址]命令特点:用于从网络上下载资源,没有指定目录,下载资源回默认为当前目录,它的特点:1)可以在用户退出系统的之后在后台执行。这意味启动一个wget下载任务,然后退出系统,wget将在后台执行直到任务完成2)支持断点续传功能;wget非常稳定,在带宽很窄的情况下和不稳定网络中有很强的适应性.如果是由于网络的原因下载失败,wget会不断的尝试,直到整个文件下载完毕。如果是服务器打断下载过程,它会再次联到服务器上从停止的地方继续下载3)同时支持FTP和HTTP下载方式;尽管现在大部分软件可以使用HTTP方式下载,但是,有些时候,仍然需要使用FTP方式下...

命令格式:wget [参数] [URL地址]

命令特点:

用于从网络上下载资源,没有指定目录,下载资源回默认为当前目录,它的特点:

1)可以在用户退出系统的之后在后台执行。这意味启动一个wget下载任务,然后退出系统,wget将在后台执行直到任务完成

2)支持断点续传功能;wget非常稳定,在带宽很窄的情况下和不稳定网络中有很强的适应性.如果是由于网络的原因下载失败,wget会不断的尝试,直到整个文件下载完毕。如果是服务器打断下载过程,它会再次联到服务器上从停止的地方继续下载

3)同时支持FTP和HTTP下载方式;尽管现在大部分软件可以使用HTTP方式下载,但是,有些时候,仍然需要使用FTP方式下载软件;

4)支持代理服务器;对安全强度很高的系统而言,一般不会将自己的系统直接暴露在互联网上,所以,支持代理是下载软件必须有的功能;

命令参数:

启动参数:

-V,  --version         显示版本信息
-h,  --help            打印此帮助
-b,  --background      启动后转入后台
-e,  --execute=命令     运行一个“.wgetrc”风格的命令

日志和输入文件

-o,  --output-file=FILE     将日志信息写入FILE
-a,  --append-output=FILE   将日志信息追加到FILE
-d,  --debug                打印调试信息
-q,  --quiet                安静模式 (无信息输出)
-v,  --verbose              详尽输出 (默认值)
-nv, --no-verbose           关闭详尽输出,但不进入安静模式
--report-speed=类型         以 <类型> 报告带宽。类型可以是 bits
-i,  --input-file=FILE      下载FILE文件中的 URL,可以批量下载
-F,  --force-html           把输入文件当作HTML文件对待
-B,  --base=URL             当使用-i或-F参数时解析下载URL时的跟网址
--config=文件               指定要使用的配置文件
--rejected-log=FILE         将连接拒绝的原因写入FILE

下载参数:

-t,  --tries=num              设置最大重试次数,0表示无限制
--retry-connrefused           即使连接被拒绝也仍然重试
--retry-on-http-error=ERRORS  使用逗号分隔的列表列出遇到时进行重试的错误
-O,  --output-document=FILE   将文档写入 FILE
-nc, --no-clobber             不覆盖已存在的文件
--no-netrc                    不要尝试从 .netrc 获取凭据
-c,  --continue               断点续传下载文件
--start-pos=offset            从由零计数的偏移量offset开始下载
--progress=type               选择进度条类型
--show-progress               在任意状态下都显示进度条
-N,  --timestamping           只下载比本地文件新的文件
--no-if-modified-since        不使用if-modified-since标头
--no-use-server-timestamps    不用服务器上的时间戳来设置本地文件
-S,  --server-response        打印服务器响应
--spider                      不下载任何文件,主要用于测试下载链接是否有效和检查网站页面的死链接
-T,  --timeout=SECS           将所有超时设为SECS秒
--dns-timeout=SECS            设置 DNS 查寻超时为 SECS 秒
--connect-timeout=SECS        设置连接超时为 SECS 秒
--read-timeout=SECS           设置读取超时为 SECS 秒
-w,  --wait=SECS              两次重试之间间隔SECS秒
--waitretry=SECS              在重新链接之间等待SECONDS秒
--random-wait                 将两次重试之间间隔设置为-w指定的0.5倍-1.5倍的随机数
--no-proxy                    禁止使用代理
-Q,  --quota=num              设置下载文件的最大字节数
--bind-address=ADDRESS        绑定至本地主机上主机名或IP,当本地有多个IP或主机名时使用
--limit-rate=RATE             限制下载速率为 RATE
--no-dns-cache                关闭DNS查询缓存
--ignore-case                 匹配文件/目录时忽略大小写
-4,  --inet4-only             仅连接至 IPv4 地址
-6,  --inet6-only             仅连接至 IPv6 地址
--user=username               设置 ftp 或 http 的用户名
--password=pwd                设置 ftp 或 http 的密码
--ask-password                提示输入密码
--no-iri                      关闭 IRI 支持
--local-encoding=ENC          使用 ENC 作为 IRI (国际化资源标识符) 的本地编码
--remote-encoding=ENC         使用 ENC 作为默认远程编码
--unlink                      覆盖前移除文件
--xattr                       在文件的拓展属性中储存元数据

目录参数:

-nd, --no-directories            不创建目录
-x,  --force-directories         强制创建目录
-nH, --no-host-directories       不要创建主 (host) 目录
--protocol-directories           在目录中使用协议名称
-P,  --directory-prefix=PRE      保存文件时在文件名前添加一层目录,如path/file修改为path/PRE/file
--cut-dirs=num                   忽略远程目录中num个目录层

HTTP(S) 选项参数:

HTTP选项:
--http-user=username        设置 http 用户名
--http-password=pwd         设置 http 密码
--no-cache                  不使用服务器缓存的数据
--default-page=NAME         设置默认页(通常为“index.html”)
-E,  --adjust-extension     以合适的扩展名保存HTML/CSS文档
--ignore-length             忽略 Content-Length 响应头
--header=STRING             在请求头中插入STRING
--compression=TYPE          设置压缩类型,可以为 auto、gzip 和 none(默认)
--max-redirect=num          每个网址允许的最大重定向次数
--proxy-user=username       设置代理用户名
--proxy-password=pwd        设置代理密码
--referer=URL               在请求头包含 Referer: URL
--save-headers=FILE         将响应头保存至FILE
-U,  --user-agent=ug        自定用用户标识,默认为Wget/VERSION
--no-http-keep-alive        禁用HTTP keep-alive
--no-cookies                不使用cookies。
--load-cookies=FILE         会话开始前从FILE中载入 cookies
--save-cookies=FILE         会话结束后保存 cookies 至FILE
--post-data=string          用POST方式把string作为数据发送。
--post-file=file            用POST方式发送file内容
--method=method             使用指定的method发送请求
--content-on-error          在服务器错误时输出接收到的内容
--auth-no-challenge         不先等待服务器询问就发送基本HTTP验证信息

HTTPS选项:
--secure-protocol=PR        设定SSL连接的加密算法,可选值:auto, SSLv2,SSLv3, TLSv1, TLSv1_1, TLSv1_2, TLSv1_3和PFS
--https-only                只访问 HTTPS 链接
--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 证书的哈希列表的目录
--ca-certificate=file       带有一组 CA 证书的文件

HSTS 选项:
--no-hsts                   禁用HSTS
--hsts-file=file            使用指定的HSTS数据库

FTP 选项参数:

--ftp-user=username         设置 ftp 用户名
--ftp-password=pwd          设置 ftp 密码
--no-remove-listing         不要删除".listing"文件
--no-glob                   不在 FTP 文件名中使用通配符展开
--no-passive-ftp            禁用"passive"被动模式,默认使用被动模式连接
--preserve-permissions      保留远程文件的权限
--retr-symlinks             在递归的时候,将链接指向文件(而不是目录)

递归下载:

-r,  --recursive                 指定递归下载
-l,  --level=num                 最大递归深度(inf 或 0 代表无限制)
--delete-after                   下载完成后删除本地文件
-k,  --convert-links             编辑下载的 HTML 或 CSS 中的链接指向本地文件
--convert-file-only              只转换URL的文件部分
--backups=N                      写入文件前,备份N个备份文件
-K,  --backup-converted          在转换文件前先将它备份为 filename.orig
-m,  --mirror                    -N -r -l inf --no-remove-listing 的整合缩写形式
-p,  --page-requisites           下载所有用于显示HTML页面的图片之类的元素

-A,  --accept=list               逗号分隔的可接受的扩展名列表
-R,  --reject=list               逗号分隔的要拒绝的扩展名列表
--accept-regex=REGEX             匹配接受的 URL 的正则表达式
--reject-regex=REGEX             匹配拒绝的 URL 的正则表达式
--regex-type=类型                正则类型 (posix|pcre),我们常用的为pcre类型
-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             使用URL的最后一段作为本地文件名
-X,  --exclude-directories=list  排除目录的列表
-np, --no-parent                 不追溯至父目录

使用实例:

下载并以不同的文件名保存

wget -O test.zip http://www.url.com/download.aspx?id=1080

wget默认会以最后一个符合”/”的后面的字符来命名,对于动态链接的下载通常文件名会不正确

示例中如果不使用-O来指定文件名会将下载文件命名为download.aspx?id=1080

限速下载

wget --limit-rate=300k http://www.url.com/test.zip

断点续传

wget -c http://www.url.com/test.zip

后台下载

wget -b http://www.url.com/test.zip

可以使用以"tail -f wget-log"命令来察看下载进度

整站下载

wget --mirror -p --convert-links -P ./LOCAL URL

过滤指定格式

wget --reject=gif url
wget -R.gif url

保存下载日志

wget -o download.log URL

限制下载文件大小

wget -Q 5m -i urllist.txt

FTP下载

匿名下载:wget ftp-url

使用用户名密码认证下载: wget --ftp-user=USERNAME --ftp-password=PASSWORD url


网址导航