wget 命令速查手册 | HTTP / FTP 文件下载全指南

wget 命令速查手册 | HTTP / FTP 文件下载全指南

🧩 一、wget 基本语法

bash 复制代码
wget [选项] [URL]

常见示例:

bash 复制代码
wget https://example.com/file.zip
wget ftp://user:password@ftp.example.com/data/file.txt

🟩 二、常用下载参数

参数 含义 示例
-O <file> 指定保存文件名 wget -O mydata.zip https://xx.com/data.zip
-P <dir> 保存到指定目录 wget -P /home/user/downloads https://xx.com/a.zip
-c 断点续传,继续下载未完成的文件 wget -c https://xx.com/big.iso
--timestamping 仅当远程文件比本地新时才下载 wget --timestamping https://xx.com/data.csv
--tries=<n> 设置下载失败重试次数 wget --tries=5 https://xx.com
--timeout=<sec> 整体超时时间 wget --timeout=30 https://xx.com
--limit-rate=<rate> 限制下载速度 (200k, 1m) wget --limit-rate=500k https://xx.com/file.iso
--wait=<sec> 两次请求间隔时间 wget --wait=2 -r https://xx.com/

🟨 三、输出与日志控制

参数 含义 示例
-q 静默模式,不输出下载信息 wget -q https://xx.com/file.zip
-nv 非详细模式(non-verbose) wget -nv https://xx.com
-v 默认详细模式 wget -v https://xx.com
-o <logfile> 将输出写入日志文件 wget -o log.txt https://xx.com
-a <logfile> 追加日志而不是覆盖 wget -a history.log https://xx.com

🟧 四、HTTP / HTTPS 专用参数

参数 含义 示例
--header="Key: Value" 添加自定义请求头 wget --header="User-Agent: MyClient" https://xx.com
--user-agent="<string>" 修改 User-Agent 标识 wget --user-agent="Mozilla/5.0"
--referer=<URL> 设置 Referer wget --referer=https://google.com https://xx.com
--no-check-certificate 跳过 SSL 证书验证 wget --no-check-certificate https://insecure.xx.com
--http-user=<user> / --http-password=<pass> HTTP 基本认证 wget --http-user=admin --http-password=123 https://xx.com/private
--post-data="key=value&..." POST 请求方式下载 wget --post-data="id=1&type=csv" https://xx.com/export

🟪 五、FTP 专用参数

参数 含义 示例
--ftp-user=<user> 指定 FTP 用户名 wget --ftp-user=abc ftp://ftp.xx.com/file.txt
--ftp-password=<pass> 指定 FTP 密码 wget --ftp-password=123 ftp://ftp.xx.com/file.txt
--no-remove-listing 保留 .listing 文件 wget -r ftp://ftp.xx.com/pub/
--retr-symlinks 下载符号链接目标而非链接本身 wget --retr-symlinks ftp://ftp.xx.com/data/

🟫 六、递归与镜像下载

参数 含义 示例
-r 递归下载目录或网站 wget -r https://xx.com/data/
-l <depth> 设置递归深度 wget -r -l 2 https://xx.com/docs/
-np 不上升到父目录(no-parent) wget -r -np https://xx.com/data/2025/
-m 镜像网站 (等价于 -r -N -l inf -np wget -m https://xx.com/
--convert-links 下载后转换本地链接,便于离线浏览 wget -m --convert-links https://xx.com/
--accept "*.zip" 只下载指定类型文件 wget -r --accept "*.zip,*.tar.gz"
--reject "*.jpg" 排除指定类型文件 wget -r --reject "*.jpg,*.png"

🟦 七、代理与连接控制

参数 含义 示例
--proxy-user=<user> / --proxy-password=<pass> 代理服务器认证 wget --proxy-user=u --proxy-password=p https://xx.com
--no-proxy 禁用代理 wget --no-proxy https://xx.com
--dns-timeout=<sec> DNS 解析超时 wget --dns-timeout=10 https://xx.com
--connect-timeout=<sec> 连接超时 wget --connect-timeout=15 https://xx.com
--read-timeout=<sec> 读取超时 wget --read-timeout=60 https://xx.com

⚙️ 八、常用组合场景示例

1️⃣ 断点续传 + 限速 + 日志输出

bash 复制代码
wget -c --limit-rate=500k -a log.txt https://example.com/large.iso

2️⃣ 递归下载 FTP 目录

bash 复制代码
wget -r --ftp-user=abc --ftp-password=123 ftp://ftp.example.com/pub/data/

3️⃣ 镜像整个网站(离线浏览)

bash 复制代码
wget -m --convert-links --no-check-certificate https://example.com/

4️⃣ 定期同步远程文件(仅更新)

bash 复制代码
wget --timestamping -P /data https://example.com/daily/report.csv

5️⃣ 从服务器下载 POST 结果

bash 复制代码
wget --post-data="name=test&id=123" -O result.json https://api.example.com/getData

🧠 九、实用技巧汇总

场景 推荐命令
下载大文件,支持断点续传 wget -c <url>
限制带宽防止占满网络 wget --limit-rate=1m <url>
保存下载日志方便排查 wget -a download.log <url>
自动跳过已存在文件 wget --timestamping <url>
批量下载多个文件 wget -i list.txt(list.txt 存放 URL 列表)
忽略 SSL 证书错误 wget --no-check-certificate <url>
只下载特定格式文件 wget -r --accept "*.zip"
指定输出目录 wget -P /path/to/save <url>

🧩 十、参考资料


💬 总结:
wget 是一款极其强大的命令行下载工具,支持 HTTP / HTTPS / FTP 协议、断点续传、镜像下载和多种自定义请求头设置。

掌握本文中的参数组合后,你几乎可以应对所有远程下载场景。

相关推荐
倔强的石头_2 小时前
kingbase备份与恢复实战(二)—— sys_dump库级逻辑备份与恢复(Windows详细步骤)
数据库
不可能的是9 小时前
前端 SSE 流式请求三种实现方案全解析
前端·http
jiayou641 天前
KingbaseES 实战:深度解析数据库对象访问权限管理
数据库
李广坤2 天前
MySQL 大表字段变更实践(改名 + 改类型 + 改长度)
数据库
爱可生开源社区3 天前
2026 年,优秀的 DBA 需要具备哪些素质?
数据库·人工智能·dba
随逸1773 天前
《从零搭建NestJS项目》
数据库·typescript
加号34 天前
windows系统下mysql多源数据库同步部署
数据库·windows·mysql
シ風箏4 天前
MySQL【部署 04】Docker部署 MySQL8.0.32 版本(网盘镜像及启动命令分享)
数据库·mysql·docker
李慕婉学姐4 天前
Springboot智慧社区系统设计与开发6n99s526(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
百锦再4 天前
Django实现接口token检测的实现方案
数据库·python·django·sqlite·flask·fastapi·pip