wget 命令速查表 - Linux 文件下载常用命令大全

脚本里写下载,决定成败的不是传输本身,而是失败之后怎么办,wget 把这件事做得比浏览器完整。核心是 -c 断点续传:中断后用同一条命令再跑,会带 Range 头接着上次的位置传,这在几个 GB 的安装包和镜像同步上是决定性差别。配套的是 --tries 与 --wait 控制重试次数和间隔,--timeout 避免卡在无响应连接上,--retry-on-http-error 让 503、429 也重试。递归一组覆盖 -r 深度、-np 不回溯父目录、-A/-R 按后缀接受或拒绝、-e robots=off。和 curl 的分工要说清:一次性抓一个文件且要接管道时 curl 更顺手;需要续传、递归、镜像或必须产出完整文件时 wget 才是答案。

系统与运维·共 38 条命令·最后更新 2026-07-21
wget下载linux

基础下载 Basic Download 7

wget URL
下载文件到当前目录
wget -O filename URL
下载并保存为指定文件名
wget -P /path/to/dir URL
下载到指定目录
wget -b URL
后台下载
wget -q URL
静默下载(不显示进度)
wget -v URL
详细输出
wget -nc URL
不下载已存在的文件(no-clobber)

断点续传 Resume 3

wget -c URL
断点续传
wget -c -O filename URL
断点续传并保存为指定文件名
wget --continue URL
断点续传(同 -c)

递归下载 Recursive 8

wget -r URL
递归下载(默认深度 5)
wget -r -l 2 URL
递归下载深度 2 层
wget -r -np URL
递归下载不访问父目录
wget -r -nd URL
递归下载不创建目录结构
wget -r -N URL
递归下载只下载新文件
wget -m URL
镜像网站(等价于 -r -N -l inf --no-remove-listing)
wget --mirror URL
镜像网站(同 -m)
wget -r -H -D example.com URL
跨域下载但限制域名(-H 跨主机,-D 指定域)

过滤选项 Filter 6

wget -A "*.pdf,*.doc" URL
只下载指定类型文件
wget -R "*.tmp,*.log" URL
排除指定类型文件
wget --accept-regex ".*\.pdf$" URL
正则匹配接受的文件
wget --reject-regex ".*\.tmp$" URL
正则匹配拒绝的文件
wget -I /dir1,/dir2 URL
只下载指定目录
wget -X /dir1,/dir2 URL
排除指定目录

认证与代理 Auth & Proxy 6

wget --user=username --password=pass URL
HTTP 认证
wget --ftp-user=user --ftp-password=pass URL
FTP 认证
wget -e use_proxy=yes -e http_proxy=URL
使用 HTTP 代理
wget -e use_proxy=yes -e https_proxy=URL
使用 HTTPS 代理
wget --no-check-certificate URL
跳过 SSL 证书验证
wget --user-agent="Mozilla/5.0" URL
自定义 User-Agent(绕过 UA 检测)

常用场景 Common Patterns 8

wget -i urls.txt
从文件读取 URL 列表下载
wget -r -l 1 -A "*.jpg,*.png" URL
下载页面所有图片
wget -r -l 1 --convert-links URL
下载页面并转换链接为本地
wget -r -l 1 -k -E -p URL
下载完整网页(含图片、CSS、JS)
wget --limit-rate=100k URL
限制下载速度
wget --timeout=30 --tries=3 URL
设置超时和重试次数
wget --spider URL
只检查不下载(测试链接是否可用)
wget -w 2 --random-wait -r URL
礼貌抓取:每页等 2 秒并加随机抖动

命令示例

断点续传一个大文件

wget -c https://example.com/large.iso

-c 让 wget 带着 Range 头请求续传,配合 --timeout=30 --tries=3 更稳。文件名必须是原来那个,否则 -c 找不到已有文件会从头开始。

输出

Resuming last request: Length: 1048576000 [1048576000/1048576000]
HTTP request sent, awaiting response... 206 Partial Content
Length: 1048576000 [1039460352/1048576000]  30.0MB/s  eta 00:00:03
1048576000  100%[====] 103.95MB  29.87MB/s

把网页连同图片 CSS 一起镜像到本地

wget -r -l 1 -k -E -p https://example.com/docs/

-k 把页面里的链接改成本地路径,-E 保存为 .html,-p 下载图片等附属资源,-l 1 限制只抓一层防止无限递归。

输出

--2026-09-30 15:20:11--  https://example.com/docs/
Resolving example.com (example.com)... 93.184.216.34
Connecting to example.com|93.184.216.34|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 12480 [text/html]
Saving to: ‘example.com/docs/index.html’

2026-09-30 15:20:12 (18.0 MB/s) - 12480 [text/html] saved

按类型批量下载并限速

wget -r -l 2 -A "*.pdf,*.zip" --limit-rate=500k -P ~/downloads https://example.com/files/

-A 白名单只收指定类型,--limit-rate 单位是 KB/s,500k 即约 500KB/s。别忘了 -np,避免顺着上级链接爬出站点范围。

常见坑与注意事项

  • wget -r 递归若不加 -l 限制深度或 -np,可能爬出站点范围把整个互联网拖下来。
  • --no-check-certificate 关闭证书校验,中间人可替换下载内容,只在临时调试时使用。
  • -c 断点续传要求文件名与首次一致,改了名字会从头下载;源站不支持 Range 时 -c 无效。
  • 递归下载前先用 -l 1 小范围试探,确认目录结构符合预期再放开。
  • 递归下载站点前确认 robots.txt 与使用条款,批量抓取可能违规。

提示

  • wget 支持 HTTP、HTTPS 和 FTP 协议,支持断点续传和递归下载。
  • 递归下载时注意深度(-l),避免下载过多文件。
  • 镜像网站用 -m 参数,会自动处理链接转换和时间戳。
  • --wait=5 --wait-retry=10 让每个文件之间等 5 秒、每次重试等 10 秒,避免密集抓取把目标站点打挂或触发限流。
  • wget --spider -q <url> 只发请求不下载正文,用在 CI 里当可用性探针比 curl 更省带宽,且返回码即结果。
  • 指定 --content-disposition 让 wget 按服务器给的文件名落盘,配合 -P 指定目录,避免一串哈希名躺在当前目录。

官方参考来源

下方为命令对应的官方权威文档,供你核对最新用法与深入查阅。

由 巧匠 维护

公开更新于 2026年7月21日,内容持续校对官方文档。

联系我们

命令或描述有误?提交反馈、商务合作或产品建议都可发送邮件给我们。

联系我们