wget 命令详解
更新时间:2026-08-28。本文是「一个命令一个文档」系列,聚焦
wget——网络基础命令族(见网络基础与远程访问命令族)。它是"下载文件"的老黄牛:稳定、支持断点续传、能整站镜像,脚本里也很可靠。
wget 从 HTTP/HTTPS/FTP 下载文件,特点是稳健——自动重试、支持断点续传、能后台跑,还擅长整站递归抓取。
一、基本用法
bash
wget https://example.com/file.iso # 下载到当前目录,文件名沿用 URL
wget -O app.tar.gz https://example.com/dl # -O 指定保存文件名
wget -c https://example.com/big.iso # -c 断点续传(中断后接着下)
wget -b https://example.com/big.iso # -b 后台下载,日志写 wget-log
-c(continue)是下大文件救星:网络断了重跑同一条命令就接着下,不从头来。-b后台下载时进度在wget-log里,用tail -f wget-log看。
二、递归镜像与限速
bash
wget -r -np -k https://docs.example.com/ # -r 递归、-np 不跳出上级、-k 转相对链接
wget --limit-rate=500k https://example.com/file # 限速 500KB/s,不占满带宽
wget -q https://example.com/x -O - | grep ... # -q 静默,配合管道镜像整站用
-r -np -k(--no-parent 防止爬到父目录、--convert-links 把绝对链接改成本地相对)。--limit-rate在共享带宽机器上下载很有礼貌,不抢别人资源。
三、wget vs curl
| 维度 | wget | curl |
|---|---|---|
| 强项 | 下载、续传、镜像 | 发请求/调试/上传/协议多 |
| 默认行为 | 下载到文件 | 输出到 stdout |
| 续传 | -c 原生强 | 需 -C - |
简单说:要"把文件下下来/镜像站点"用 wget;要"构造复杂 HTTP 请求、看响应头、上传、调 API"用 curl。两者都常用,不是替代关系。
四、踩坑:HTTPS 证书与重定向
bash
wget https://self-signed.example.com/file # 自签证书会报错,需 --no-check-certificate
wget --tries=3 --timeout=30 URL # 设重试次数与超时,脚本里更稳自签名证书站点 wget 默认拒绝,临时可用
--no-check-certificate(注意安全风险)。脚本里加上--tries和--timeout能提高健壮性,避免一次网络抖就整脚本失败。
五、实战:脚本里稳健拉包
bash
wget -q --tries=3 --timeout=60 -c -O /tmp/pkg.tar.gz "$PKG_URL" || exit 1一句话总结
wget = 稳健的命令行下载器:-c 断点续传、-b 后台、-r -np -k 镜像站点、--limit-rate 限速;重下载/镜像胜过 curl,但构造复杂请求/调试 API 还是 curl 更强。脚本里加 --tries/--timeout 更稳。