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”)
参考:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!