学习Linux命令(52)

来源:互联网 发布:北大历史系考研知乎 编辑:程序博客网 时间:2024/05/16 08:27

wget命令

命令格式

wget [参数] [URL地址]

命令功能

用于从网络上下载资源,没有指定目录,默认下载到当前目录。

命令参数

启动参数:

-V或--version:显示版本信息
-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:关闭冗长模式,但不是安静模式
--report-speed=TYPE:设置输出带宽为TYPE,TYPE可为bits
-i或--input-file=FILE:下载在FILE文件中出现的URLs
-F或--force-html:把输入文件作为HTML格式文件对待
-B或--base=URL:将URL作为在-F -i参数指定的文件中出现的相对链接的前缀
--config=FILE:使用指定的配置文件
--no-config:不读取任何配置文件
--rejected-log=FILE:记录URL屏蔽的原因到FILE

下载参数:

-t或--tries=NUMBER:设置重试次数(0为不限制)
--retry-connrefused:连接被拒绝时重试
-O或--outputdocument=FILE:把文档写到FILE文件中
-nc或--no-clobber:当文件已存在时跳过下载
-c或--continue:继续下载未下载完成的文件
--start-pos=OFFSET:从OFFSET偏移位置开始下载
--progress=TYPE:设置进度条标记
--show-progress:在任何冗长模式中都显示进度条
-N或--timestamping:不重新下载比本地文件旧的文件
-S或--server-response:打印服务器响应信息
--spider:不下载任何文件
-T或--timeout=SECONDS:设置超时时间,单位为秒
--dns-timeout=SEC:设置DNS访问超时时间,单位为秒。类似的还有--connect-timeout=SEC和--read-timeout=SEC
-w或--wait=SECONDS:设置两次尝试之间间隔时间,单位为秒
--wait-retry=SECONDS:两次尝试之间间隔1到SECONDS秒
--random-wait:两次尝试之间等待0.5*WAIT到1.5*WAIT秒之间
--no-proxy:关闭代理
-Q或--quota:设置下载容量
--bind-address=ADDRESS:指定本地地址(IP或域名)
-limit-rate=RATE:限制下载速率
--no-dns-cache:禁用DNS缓存
--ignore-case:忽略文件或目录大小写
-4:只连接IPv4地址
-6:只连接IPv6地址
-prefer-family=FAMILY:优先连接指定地址系列中的地址
--user=USER:设置ftp和http的用户名为USER
--password=PASSWORD:设置ftp和http的密码为PASSWORD
--local-encoding=ENC:设置本部编码格式为ENC;同样还有--remote-encoding=ENC为设置远端编码格式
--unlink:本地存在下载文件时,下载前先删除

目录参数:

-nd或--no-directories:不创建目录
-x或--force-directories:强制创建目录
-nH或--no-host-directories:不创建主机目录
-P或--directory-prefix=PREFIX:将文件保存到PREFIX/..
--cut-dirs=NUMBER:忽略NUMBER层目录

HTTP参数:

--http-user=USER:设置HTTP用户名
--http-password=PASS设置HTTP密码
--no-cache:禁用服务器缓存
--default-page=NAME:修改默认主页,默认为index.html
-E或--adjust-extension:保存HTML/CSS文档使用合适的扩展名
--ignore-length:忽略“Content-Length”字段
--header=STRING:在头部插入STRING字符串
--proxy-user=USER:设置代理用户名
--proxy-password=PASS:设置代理密码
--referer=URL:在HTTP请求中包含“Referer:URL”头
--save-header:将HTTP头保存到文件
-U或--user-agent=AGENT:设置代理身份为AGENT而不是Wget/VERSION
--no-http-keep-alive:关闭HTTP活动链接
--no-cookie:不使用cookie
--load-cookies=FILE:会话开始前从FILE文件加载cookie
--save-cookies=FILE:会话结束后将cookie保存到FILE文件
--post-data=STRING:使用POST方法,将STRING字符串作为数据发送
--post-file=FILE:使用POST方法,发送FILE文件内容
--method=HTTPMethod:在HTTP请求中使用HTTPMethod方法
--body-data=STRING,--body-file=FILE:发送STRING或FILE内容,必须使用--method参数

HTTPS参数:

--secure-protocol:选择加密协议:auto,SSLv2,SSLv3,TLSv1,PFS
--certificate=FILE:指定客户端证书

HSTS参数:

--no-hsts:禁用HSTS
-hsts-file:HSTS数据库路径(会覆盖默认值)

FTP参数:

--ftp-user=USER:设置FTP用户名
--ftp-password=PASS:设置FTP密码
-no-remove-listing:不删除“.listing”文件
-no-glob:关闭文件名通配符机制
--no-passive-ftp:禁用被动传输模式
--retr-symlinks:递归时,链接指向文件

FTPS参数:

--ftps-implicit:使用默认FTPS,默认端口为990
--ftps-fallback-to-ftp:不支持FTPS时,使用FTP

递归参数:

-r或--recursive:递归下载
-l或--level=NUMBER:最大递归深度(inf或0代表无穷大)
-k或--convert-links:使下载的HTML或CSS中的链接指向本地文件
--convert-file-only:只转换文件中的URL
-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:用分号分隔的不被接受的扩展名列表
--accept-regex:匹配接受的URL
--reject-regex:匹配不接受的URL
-D或--domains=LIST:用分号分隔的被接受的域
--exclude-domains=LIST:用分号分隔的不被接受的域
--follow-ftp:跟踪HTML文件中的FTP链接
--follow-tags=LIST:用分号分隔的被跟踪的HTML标签
--ignore-tags=LIST:用分号分隔的被忽略的HTML标签
-H或--span-hosts:当递归时转到外部主机
-L或--relative:只跟踪相对链接
-X或--exclude-directories=LIST:不被包含的目录列表
-np或--no-parent:不追溯到父目录

例子: