Linux wget 命令
什么是 wget 命令?
wget 是 Linux 系统中一个功能强大的非交互式网络下载工具,名称来源于 "World Wide Web" 和 "get" 的组合。它支持通过 HTTP、HTTPS 和 FTP 协议下载文件,具有断点续传、递归下载等实用特性。
与浏览器下载或 curl 命令不同,wget 的主要特点是:
- 非交互式:可以在后台运行,无需用户干预
- 稳定性强:网络波动时能自动重试
- 功能丰富:支持多种下载场景和高级选项
wget 基本语法
wget [选项] [URL]
最简单的下载示例
实例
wget https://example.com/file.zip
这行命令会下载指定 URL 的文件到当前目录。
常用选项参数详解
下载控制选项
选项 | 说明 | 示例 |
---|---|---|
-O <文件名> |
指定保存文件名 | wget -O myfile.zip https://example.com/file.zip |
-P <目录> |
指定下载目录 | wget -P ~/downloads https://example.com/file.zip |
-c |
断点续传 | wget -c https://example.com/bigfile.iso |
-b |
后台下载 | wget -b https://example.com/largefile.mp4 |
连接设置选项
选项 | 说明 | 示例 |
---|---|---|
--limit-rate=<速度> |
限速下载 | wget --limit-rate=200k https://example.com/file.iso |
-t <次数> |
设置重试次数 | wget -t 5 https://example.com/unstable.file |
--timeout=<秒> |
设置超时时间 | wget --timeout=30 https://example.com/slow.file |
递归下载选项
选项 | 说明 | 示例 |
---|---|---|
-r |
递归下载 | wget -r https://example.com/directory/ |
-l <深度> |
设置递归深度 | wget -r -l 2 https://example.com/ |
-np |
不追溯至父目录 | wget -r -np https://example.com/path/ |
实用示例与应用场景
示例 1:下载单个文件并重命名
实例
wget -O linux_distro.iso https://example.com/ubuntu-22.04.iso
说明:
- 从指定 URL 下载 Ubuntu 22.04 镜像
- 使用
-O
选项将文件保存为自定义名称linux_distro.iso
示例 2:限速下载大文件
实例
wget --limit-rate=500k -c https://example.com/large_video.mp4
说明:
--limit-rate=500k
将下载速度限制在 500KB/s-c
支持断点续传,网络中断后可继续下载
示例 3:递归下载整个网站
实例
wget -r -l 5 --convert-links --wait=2 https://example-site.com
说明:
-r
启用递归下载-l 5
设置最大递归深度为 5 层--convert-links
转换链接适合本地浏览--wait=2
每次下载间隔 2 秒,减轻服务器负担
高级技巧与注意事项
1. 批量下载文件
创建一个包含多个 URL 的文本文件 urls.txt
,然后使用:
实例
wget -i urls.txt
2. 下载 FTP 资源
实例
wget ftp://username:password@ftp.example.com/file.zip
注意:密码会显示在命令历史中,建议使用 --ftp-user
和 --ftp-password
选项分开设置。
3. 常见问题解决
问题 1:证书错误
实例
wget --no-check-certificate https://example.com
问题 2:下载被拒绝(403 Forbidden)
实例
wget --user-agent="Mozilla/5.0" https://example.com
可视化:wget 工作流程
实践练习
尝试下载 Linux 内核源码:
wget https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.5.5.tar.xz
使用断点续传功能下载一个大文件,中断后重新连接继续下载
创建一个包含多个图片 URL 的文本文件,使用批量下载功能获取所有图片
总结
wget 是 Linux 系统中不可或缺的下载工具,通过本文您已经学会了:
- wget 的基本语法和常用选项
- 各种实际应用场景下的下载方法
- 高级技巧和问题解决方案
- 递归下载和批量下载的实现
掌握 wget 命令将极大提高您在 Linux 环境下处理网络资源的效率。
点我分享笔记