文档首页> Linux命令> Linux命令之wget

Linux命令之wget

发布时间:2025-07-31 00:08       

🔍 Linux命令 wget完全指南(2025最新版)

wget是Linux系统中最强大的非交互式下载工具,支持HTTP/HTTPS/FTP协议,尤其擅长处理大文件、镜像网站和自动化下载任务。以下是专业工程师必备的核心用法:


📦 一、基础下载操作

# 下载单个文件(默认保存到当前目录)
wget https://example.com/file.zip

# 指定保存文件名(-O 大写字母O)
wget -O backup.tar.gz https://site.com/data.tar

# 断点续传(避免网络中断重头下载)
wget -c https://large-file.iso
​

🚀 二、高效下载技巧

1. 批量下载

# 从文本文件读取URL列表
wget -i url_list.txt

# 下载序列文件(适用于分卷压缩包)
wget https://site.com/part{1..5}.zip
​

2. 限速控制

wget --limit-rate=500k https://example.com/video.mp4  # 限制500KB/s
​

3. 后台下载

wget -bq -o download.log https://example.com/large_file.bin
# -b 后台运行 -q 静默模式 -o 日志输出
​

4. 递归下载(网站镜像)

wget --mirror --convert-links --page-requisites --no-parent https://example.com
​
参数 作用
--mirror 开启镜像模式
--convert-links 转换链接适配本地浏览
--page-requisites 下载CSS/图片等页面依赖资源
--no-parent 不下载父目录内容

🔐 三、安全认证场景

# HTTP基础认证
wget --user=admin --password=secret http://protected-site.com

# FTP下载(支持主动/被动模式)
wget --ftp-user=user --ftp-password=pass ftp://fileserver/data

# 忽略SSL证书验证(慎用)
wget --no-check-certificate https://self-signed-site.com
​

⚙️ 四、高级参数解析

参数组合 应用场景
-np -nH --cut-dirs=N 精简目录结构
-r -A.jpg,.png 仅下载指定类型文件
-r -R .tmp,.bak 排除特定格式文件
-U "Mozilla/5.0" 自定义User-Agent绕过反爬虫
-Q 5G 设置最大下载配额

💡 五、实用场景示例

1. 定时更新数据文件

# 每天6点自动下载(加入crontab)
0 6 * * * wget -N https://data.org/daily.csv -O /storage/update.csv
​

2. 下载网站所有PDF文档

wget -r -l2 -nd -A.pdf https://docs.example.com
# -l2: 递归2层 -nd: 不创建目录
​

3. 灾备恢复(断点续传实战)

# 网络中断后恢复下载(检查服务器是否支持)
wget -c --tries=0 --timeout=30 https://backup-server/db.dump
# --tries=0 无限重试 --timeout=30 超时30秒
​

⚠️ 六、避坑指南

  1. 递归下载深度控制
    -r默认递归5层,超大型网站需用 -l限制层数:
    wget -r -l3 https://large-site.com  # 只下载3层链接
    ​
  2. 防止被封禁IP
    wget --wait=5 --random-wait https://sensitive-site.com  # 随机等待5-10秒
    ​
  3. 文件名乱码处理
    wget --restrict-file-names=unix https://site-with-中文.com
    ​
  4. 大文件校验完整性
    wget https://file.iso && sha256sum file.iso | grep [预期哈希值]
    ​

📊 七、性能优化参数

参数 优化效果
-4/-6 强制使用IPv4/IPv6
--dns-timeout=10 DNS解析超时10秒
--connect-timeout=15 连接超时15秒
--read-timeout=60 读取数据超时60秒
-T 180 全局超时3分钟

✅ 八、替代方案对比

场景 wget优势 其他工具
递归下载网站 成熟的目录结构保持能力 curl较弱
大文件断点续传 协议支持完善 aria2更复杂
自动化脚本 参数标准化,兼容性强 python-requests需编程

🔚 总结

掌握 wget核心操作优先级:

  1. 基础下载:wget [URL] +