命令简介

wget 是 Linux 系统中一个非常实用的命令行工具,用于从 Web 上下载文件。它支持递归下载,断点续传,镜像网站等功能,可以方便地下载单个文件、整个目录甚至完整的网站。

命令格式

1
wget [选项] URL

秦中:

  • URL:指定要下载的网址。

参数说明

参数 说明 备注
-O 指定下载后的文件名 默认使用 URL 中的文件名
-c 继续上次中断的下载 断点续传
-r 递归下载目录和网页 -
-A 指定要下载的文件类型 使用逗号分隔多种类型
-R 指定不下载的文件类型 同上
-np 不下载父目录 仅下载当前目录内容
-m 镜像下载整个网站 创建网站在本地的镜像副本
-p 下载所有相关资源 如图片、CSS、JS等
-k 将链接转换为本地链接 用于镜像下载
-N 只下载比本地文件新的文件 -
-b 启用后台下载 可将下载任务放入后台执行
-o 指定日志文件 记录下载过程

命令实例

基本用法

1.下载单个文件

1
2
3
4
5
# 下载单个文件
wget https://example.com/file.zip

# 将文件下载到指定目录并重命名
wget -O /tmp/myfile.zip https://example.com/file.zip

2.断点续传

1
2
# 继续上次中断的下载
wget -c https://example.com/bigfile.iso

3.下载整个目录

1
2
3
4
5
# 递归下载目录中的所有文件
wget -r https://example.com/dir/

# 不下载父目录
wget -r -np https://example.com/dir/

4.镜像下载网站

1
2
3
4
5
# 镜像下载整个网站
wget -m https://example.com

# 转换链接为本地链接
wget -m -k -p --no-check-certificate https://example.com

5.限制下载类型

1
2
3
4
5
# 只下载 HTML 和 PDF 文件
wget -r -A .html,.pdf https://example.com

# 排除 JPG 和 GIF 图片
wget -r -R .jpg,.gif https://example.com

扩展使用方法

1.使用通配符

wget 命令支持使用通配符下载多个 URL。

1
2
3
4
5
# 下载同一目录下的多个文件
wget https://example.com/files/*.zip

# 使用范围下载多个序列文件
wget https://example.com/files/file_{1..10}.txt

2.限速下载

可以使用 --limit-rate 选项限制下载速度。

1
2
# 限制下载速度为 500KB/s
wget --limit-rate=500k https://example.com/bigfile.iso

3.后台下载

使用 -b 选项可以将下载任务放入后台执行,并将日志写入指定的文件。

1
2
# 后台下载并记录日志
wget -b -o download.log https://example.com/bigfile.iso

高级用法

1.自动重试

wget 命令可以在下载失败时自动重试,使用 --tries 选项指定重试次数。

1
2
# 最多重试 10 次
wget --tries=10 https://example.com/unstable_file.zip

2.递归接受服务器重定向

使用 -L 选项可以让 wget 递归接受服务器的重定向请求。

1
2
# 递归接受重定向
wget -L https://example.com/redirect.php

3.使用 wget 命令下载文件并设置代理

1
2
# 使用代理服务器下载文件 "https://www.example.com/file.txt"
wget --proxy=http://127.0.0.1:8080 https://www.example.com/file.txt

4.使用 wget 命令下载文件并设置超时时间

1
2
# 设置超时时间为 10 秒,下载文件 "https://www.example.com/file.txt"
wget --timeout=10 https://www.example.com/file.txt

5.下载指定类型的文件:

1
wget -r -A "*.jpg,*.png" https://example.com/images/

6.下载网页中的所有图片:

1
wget -r -A "jpg,png,gif" -l 1 https://example.com/

7.下载时隐藏下载进度

1
wget -q https://example.com/bigfile.tar.gz

8.使用自定义 User-Agent 字符串

1
wget -U "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36" https://example.com/file.zip

9.限制下载深度

1
wget -r -l 2 https://example.com/

通过以上实例和扩展用法,相信你已经对 wget 命令有了更深入的了解。它是一个功能强大且易用的命令行下载工具,可以极大地提高我们在 Linux 系统下下载文件的效率。如果你还有任何疑问或需要进一步探讨,欢迎随时向我提出。