wget 适合做什么
wget 是非交互式下载工具,特点是能在弱网与脚本里稳定工作:中断后可以续传,可以限速避免占满带宽,也可以递归抓取站点目录。它默认把内容写成服务器上的文件名,配合 -O 可以指定落地路径,配合 -q 静默,因此在自动化脚本与离线包收集中比 curl 更常见。
基本信息
| 续传 | wget -c URL(需服务端支持 Range) |
|---|---|
| 限速 | wget --limit-rate=2m URL |
| 指定输出 | wget -O 文件名 URL |
| 静默与日志 | -q 静默,-o 写日志文件,-O - 输出到标准输出 |
| 递归镜像 | -r -np -k -p(仅对自有站点使用) |
| 代理配置 | 环境变量 http_proxy/https_proxy,或 /etc/wgetrc、~/.wgetrc |
典型使用场景
- 下载数 GB 的 ISO 或离线包,网络不稳时用 -c 接着下
- 业务时段下载时用 --limit-rate 限速,避免挤占生产带宽
- 脚本里静默下载并校验摘要,作为自动部署的一步
- 内网只放行了某个地址,需要指定代理下载外网资源
- 从自有镜像源同步目录结构,做成本地补丁库
典型用法
典型用法
wget -c http://10.0.0.10/big.iso # 断点续传,中断后重跑同一条命令
wget --limit-rate=2m -O /tmp/app.tar.gz http://10.0.0.10/app.tar.gz # 限速 2MB/s
wget -q -O /tmp/pkgs.list http://10.0.0.10/list.txt # 静默下载到指定路径
wget --tries=5 --timeout=30 -c http://10.0.0.10/huge.tar # 明确重试次数与超时
sha256sum /tmp/app.tar.gz # 下完立刻校验摘要代理与站点镜像
代理与站点镜像
export https_proxy=http://proxy.intra.local:8080 # 临时走代理;写进 /etc/wgetrc 可持久化
wget -e use_proxy=yes -e https_proxy=http://proxy.intra.local:8080 -O f.iso URL
wget -r -np -nH --cut-dirs=1 -R 'index.html*' http://mirror.intra.local/pkgs/ # 镜像自有源的包目录
find ./pkgs -name '*.rpm' | wc -l # 核对抓取数量
wget --spider -S URL # 只探测不下载,确认地址与响应头常用参数速查
| 参数 | 作用 | 适用场景 |
|---|---|---|
| -c | 断点续传 | 大文件弱网下载 |
| -O | 指定输出文件名 | 脚本里固定落地路径 |
| -q | 静默模式 | 定时任务中不产生输出 |
| --limit-rate | 限制带宽 | 与业务共线时避免抢占 |
| --tries / --timeout | 重试与超时 | 不稳定链路 |
| -r / -np / -k | 递归、不下探父目录、转换链接 | 镜像自有站点目录 |
-c 续传依赖服务端支持 Range 请求:若对方返回 200 而非 206,wget 会从头下载,日志里会体现为文件重新开始写。
对非自有站点做递归抓取可能被封禁或触及合规问题,官方源优先用镜像方式同步,不要用 wget -r 直接爬。