菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
242
0

wget 命令用法

原创
05/13 14:22
阅读数 89670

wget 命令用法



1. 用法/命令格式

wget  [OPTION]...  [URL]...
wget  [参数列表]    [目标软件、网页的网址]

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


2. 常用参数

  • 启动:
-V,  --version                   # 显示 Wget 的版本信息并退出
-h,  --help                      # 打印帮助
-b,  --background                # 启动后转入后台
  • 记录和输入文件:
-o,  --output-file=FILE          # 将日志信息写入【FILE】
-a,  --append-output=FILE        # 将信息添加至【FILE】
-q,  --quiet                     # 安静模式 (无信息输出)
-v,  --verbose                   # 详细输出 (默认)
-nv, --no-verbose                # 关闭详细输出,但不进入安静模式
-i,  --input-file=FILE           # 下载本地或外部 [FILE] 中的 URL
  • 下载:
-t,  --tries=NUMBER              # 设置重试次数为【NUMBER】(0 代表无限制)
     --retry-connrefused         # 即使拒绝连接也重试
-O,  --output-document=FILE      # 将文档写入【FILE】(可以理解为把下载的文件重命名改为【FILE】)
-nc, --no-clobber                # 不要下载已存在文件
-c,  --continue                  # 断点续传下载文件(继续获取部分下载)
-N,  --timestamping              # 只获取比本地文件新的文件
-S,  --server-response           # 打印服务器响应头信息
     --spider                    # 不下载任何文件
     --limit-rate=RATE           # 限制下载速率为 [RATE]
     --ignore-case               # 匹配文件/目录时忽略大小写
     --user=USER                 # 将 ftp 和 http 的用户名均设置为【USER】
     --password=PASS             # 将 ftp 和 http 的密码均设置为【PASS】
     --ask-password              # 提示输入密码
  • 目录:
-nd, --no-directories            # 不创建目录
-x,  --force-directories         # 强制创建目录
-nH, --no-host-directories       # 不要创建主机(www.cnglogs.com)目录
     --protocol-directories      # 在目录中使用协议名称(从https开始创建目录)
-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”)
--no-cookies                # 不使用 cookies
--save-cookies=FILE         # 会话结束后保存 cookies 至【FILE】
  • HSTS选项:
--no-hsts                   # 禁用 HSTS
--hsts-file                 # HSTS 数据库路径(将覆盖默认值)
  • FTP选项:
--ftp-user=USER             # 设置 ftp 用户名为【USER】
--ftp-password=PASS         # 设置 ftp 密码为【PASS】
--no-glob                   # 不在 FTP 文件名中使用通配符展开
--preserve-permissions      # 保留远程文件的权限
--retr-symlinks             # 递归目录时,获取链接的文件 (而非目录)
  • 递归下载:
-r,  --recursive            # 指定递归下载
-l,  --level=NUMBER         # 最大递归深度 (inf 或 0 代表无限制,即全部下载)。
     --delete-after         # 下载完成后删除本地文件
     --backups=N            # 写入文件 X 前,轮换移动最多 N 个备份文件
-K,  --backup-converted     # 在转换文件 X 前先将它备份为 X.orig
  • 递归接受/拒绝:
-A,  --accept=LIST          # 逗号分隔的可接受的扩展名列表
-R,  --reject=LIST          # 逗号分隔的要拒绝的扩展名列表
     --accept-regex=REGEX        # 匹配接受的 URL 的正则表达式
     --reject-regex=REGEX        # 匹配拒绝的 URL 的正则表达式
     --regex-type=TYPE           # 正则类型 (posix|pcre)
-D,  --domains=LIST              # 逗号分隔的可接受的域名列表
     --exclude-domains=LIST      # 逗号分隔的要拒绝的域名列表
-I,  --include-directories=LIST  # 允许目录的列表
-X,  --exclude-directories=LIST  # 排除目录的列表
-np, --no-parent                 # 不追溯至父目录

3. 常用实例

  • 下载单个文件/网页
wget https://www.rarlab.com/rar/rarlinux-6.0.1.tar.gz	# 下载rarlinux-6.0.1.tar.gz文件
wget https://www.rarlab.com/download.htm		# 下载 download.htm 网页	
  • 将下载的文件名改为指定文件名 (参数 “O” )
wget -O edit.html https://i.cnblogs.com/posts/editpostId=14660645
# 默认下载保存的文件为“editpostId=14660645”
# 使用 -O 参数后,保存的文件为指定文件名,这里是“edit.html”
  • 断点下载(参数 “c” )
# 这个参数适合下载大文件,网速不理想的场景
# 借助参数 "c", 可以继续从文件中断的地方继续下载

wget -c https://www.rarlab.com/rar/rarlinux-6.0.1.tar.gz
  • 后台下载(参数 “b”)
# 对于下载大文件时,我们可以使用参数 “b”,将进程切换到后台下载
# 切换后台下载后,我们可以通过 “wget-log”查看下载进度
# -t 参数表示重试次数,例如需要重试100次,那么就写-t 100,如果设成-t 0,那么表示无穷次重试,直到连接成功
wget -b https://www.rarlab.com/rar/rarlinux-6.0.1.tar.gz
  • 批量下载(参数 “i”)
# 自定义一个文件URLlist.txt,将需要下载的URL都输入进去,然后使用参数 “i”指定改文件即可
wget -i URLlist.txt
  • 检查网页是否可访问,而不用下载(“S“:打印响应信息,“spaider”:不下载)
wget [-S] --spaider https://www.cnblogs.com/cure/p/14660645.html
  • 指定文件格式下载(“A” 指定下载文件格式,“R”指定忽略下载文件格式)
wget -A png https://www.cnblogs.com/ 	或 wget --accept=LIST https://www.cnblogs.com/
wget -R gif https://www.cnblogs.com/ 	或 wget --reject=LIST https://www.cnblogs.com/
# LIST表示可以指定多个格式
  • 指定用户名密码下载
# 此场景适合部分访问需要用户名和密码验证的 URL下载
wget --user=USER --password=PASS https://www.cnblogs.com/cure/p/14660645.html	 # 此方式密码明文显示
wget --user=USER --ask-password https://www.cnblogs.com/cure/p/14660645.html	 # 此方式密码是按回车后,提示输入密码,密码不显示(推荐)

  • 下载URL中的当前位置的所有文件
# 场景: 我需要下载文件服务器某一路径下的全部文件,但是不需要保存主页“index.html”

wget -r -np -nd -R html,tmp  https://www.cnblogs.com/cure/p/
或者:
wget -r -np -nd -A txt,zip,png[...]  https://www.cnblogs.com/cure/p/

# 参数介绍:
# -r   递归下载(最好跟上np参数,不然会下载整个网站的数据及关联网站数据)
# -np  不追溯到父级(表示只访问当前位置)
# -nd  不创建文件夹
# -R   忽略/拒绝下载的格式(wget下载会默认下载主页“index.html”,拒绝下载html格式时,会保存为html.tmp文件)
# -A   指定下载的格式(只下载指定格式的文件,这样也不会下载主页“index.html”)



参考:

https://www.jianshu.com/p/59bb131bc2ab

发表评论

0/200
242 点赞
0 评论
收藏