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