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 协议、断点续传、镜像下载和多种自定义请求头设置。

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

相关推荐
Arlene3 小时前
HTTP 的方法和状态码
网络·网络协议·http
银迢迢3 小时前
redis项目知识体系
数据库·redis·缓存
2301_772093563 小时前
Fastdfs_MinIO_腾讯COS_具体逻辑解析
数据库·redis·分布式·中间件
程序员水自流4 小时前
MySQL InnoDB存储引擎缓存刷盘CheckPoint技术底层实现原理详细介绍
数据库·mysql·缓存
shan~~4 小时前
linux安装海量数据库和操作
linux·数据库·oracle
Full Stack Developme5 小时前
PostgreSQL JDBC 连接参数大全
数据库·postgresql
Roye_ack5 小时前
【黑马点评 - 实战篇01】Redis项目实战(Windows安装Redis6.2.6 + 发送验证码 + 短信验证码登录注册 + 拦截器链 - 登录校验)
数据库·spring boot·redis·缓存·mybatisplus·session·黑马点评
野犬寒鸦6 小时前
从零起步学习MySQL || 第一章:初识MySQL及深入理解内部数据类型
java·服务器·数据库·后端·mysql
华军6 小时前
数据库事务的并发
数据库