Linux wget 命令
Linux 命令大全
什么是 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 环境下处理网络资源的效率。
Linux 命令大全