Linux wget 命令

Linux 命令大全 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 工作流程


实践练习

  1. 尝试下载 Linux 内核源码:

    wget https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.5.5.tar.xz
  2. 使用断点续传功能下载一个大文件,中断后重新连接继续下载

  3. 创建一个包含多个图片 URL 的文本文件,使用批量下载功能获取所有图片


总结

wget 是 Linux 系统中不可或缺的下载工具,通过本文您已经学会了:

  • wget 的基本语法和常用选项
  • 各种实际应用场景下的下载方法
  • 高级技巧和问题解决方案
  • 递归下载和批量下载的实现

掌握 wget 命令将极大提高您在 Linux 环境下处理网络资源的效率。

Linux 命令大全 Linux 命令大全