Linux下载工具——wget命令详解
摘要:wget是Linux下稳定的下载工具,支持HTTP/HTTPS/FTP协议,具备断点续传、递归下载、限速等特性。本文分类详解参数,提供实战示例及安全建议。
一、Wget核心优势
wget(Web Get)是Linux下稳定的命令行下载工具:
-
协议支持:HTTP/HTTPS/FTP/FTPS
-
核心特性:
-
自动断点续传(网络中断自动恢复)
-
递归下载整个网站
-
后台执行与带宽控制
-
-
适用场景:大文件下载、网站镜像、自动化脚本
语法格式:
wget [参数] [URL]
二、参数分类详解
1. 下载控制
参数 | 说明 | 示例 |
---|---|---|
-c | 断点续传 | wget -c http://example.com/bigfile.iso |
-b | 后台下载 | wget -b http://example.com/file.zip |
--limit-rate | 限速(300KB/s) | wget --limit-rate=300k http://example.com/video.mp4 |
-t | 最大重试次数(默认20次) | wget -t 5 http://unstable-site.com/file |
2. 输出管理
参数 | 说明 | 示例 |
---|---|---|
-O | 指定本地文件名 | wget -O manual.pdf http://example.com/doc |
-P | 指定保存目录 | wget -P ~/downloads http://example.com/file |
-q | 静默模式(无输出) | wget -q http://example.com/update.sh |
-N | 仅下载更新文件 | wget -N http://example.com/daily-backup.zip |
3. 递归下载
参数 | 说明 | 示例 |
---|---|---|
-r | 递归下载 | wget -r http://example.com/docs |
-l | 设置递归深度 | wget -r -l 2 http://example.com |
-np | 不追溯父目录 | wget -r -np http://example.com/subdir |
-k | 转换链接为本地 | wget -r -k http://example.com |
4. 网络设置
参数 | 说明 | 示例 |
---|---|---|
-4 | 强制IPv4 | wget -4 http://ipv4-only-site.com |
-6 | 强制IPv6 | wget -6 http://ipv6-site.com |
-T | 超时时间(秒) | wget -T 30 http://slow-server.com |
--proxy=on | 启用代理 | wget --proxy=on http://blocked-site.com |
三、实战操作示例
1. 基础下载
# 下载文件并显示进度
wget https://example.com/linux.iso
# 下载并重命名文件
wget -O ubuntu-latest.iso https://releases.ubuntu.com/22.04.iso
2. 高级下载控制
# 断点续传大文件
wget -c https://kernel.org/pub/linux/kernel/v6.x/linux-6.0.tar.xz
# 限速500KB/s后台下载
wget -b --limit-rate=500k https://example.com/large_video.mp4
3. 递归下载网站
# 下载整个网站(2层深度)
wget -r -l 2 -k -p https://docs.example.com
# 仅下载指定类型文件
wget -r -A "*.pdf" http://ebooks.example.com
4. 认证与安全
# FTP认证下载
wget --ftp-user=admin --ftp-password=pass123 ftp://files.example.com/backup.zip
# 跳过SSL证书验证(慎用)
wget --no-check-certificate https://self-signed-site.com
5. 自动化下载
# 从文件读取URL列表批量下载
wget -i download_list.txt
# 镜像网站(适合备份)
wget -mk -w 5 http://important-site.com
四、高级技巧与安全
1. 伪装浏览器身份
wget --user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64)"
https://some-site.com/restricted-file
2. 下载限时文件
# 带Cookie下载认证内容(从浏览器获取Cookie)
wget --header="Cookie: session_id=abc123"
https://members.example.com/vip-content.zip
3. 安全下载实践
# 验证文件完整性
wget https://example.com/file.iso https://example.com/file.iso.sha256
sha256sum -c file.iso.sha256
# 使用安全协议优先
wget --prefer-family=IPv4 --secure-protocol=TLSv1_2 https://bank.com/statement.pdf
4. 监控下载状态
# 后台下载监控
tail -f wget-log # 查看后台下载日志
# 仅检查文件是否存在
wget --spider https://example.com/update.zip
生产环境建议:结合
-c
断点续传和-b
后台执行,使用watch -n 60 wget -c URL
可实现每小时自动续传,特别适合不稳定网络环境的大文件下载。
五、注意事项
-
递归下载禁忌:
wget -r http://public-site.com # 可能触发反爬机制
-
添加
-w 10 --random-wait
随机等待 -
遵守robots.txt规则(默认遵守)
-
-
证书验证:
-
避免使用
--no-check-certificate
处理敏感数据 -
通过
--ca-certificate
指定可信证书
-
-
资源消耗控制:
wget --wait=5 --random-wait -r -l 3 http://site.com # 设置等待时间+递归深度,防止过度请求
适用场景:软件源同步、网站备份、大数据集下载、受限环境中的稳定传输。日均下载量超过1PB的Linux内核官网(kernel.org)即使用wget作为官方推荐下载工具。