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

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

相关推荐
HookJames3 小时前
让 FlyingPress 的 Preload 队列变少,减轻 PHP 和数据库压力
android·数据库·php
2301_816660213 小时前
如何处理MongoDB分片集群的连接池耗尽危机_客户端连接与mongos到shard的连接乘数效应
jvm·数据库·python
qq_413847403 小时前
SQL如何利用JOIN提升数据质量检查_查找不一致的关联数据
jvm·数据库·python
电商API&Tina3 小时前
【1688API接口】1688 开放平台 API 接入心得
java·开发语言·数据库·python·sql·json
2301_773553623 小时前
CSS如何制作响应式图片集布局_利用object-fit填充空间
jvm·数据库·python
吕源林3 小时前
如何获取SQL字符串左侧字符_利用LEFT函数快速截取
jvm·数据库·python
baidu_340998823 小时前
如何正确使用 React 的 useContext Hook 管理组件状态
jvm·数据库·python
上海合宙LuatOS3 小时前
LuatOS扩展库API——【httpdns】使用HTTP进行域名解析
网络·物联网·网络协议·http·lua·luatos
m0_674294643 小时前
mysql如何通过脚本自动化创建用户_使用shell配合mysql命令
jvm·数据库·python
weixin_408717773 小时前
HTML函数能否用游戏本开发_游戏本硬件冗余分析【指南】
jvm·数据库·python