Linux wget 命令实用示例

LinuxLinuxBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

在本实验中,你将学习如何使用 Linux 的 wget 命令从互联网下载文件。wget 命令是一个强大的工具,允许你从网络上下载文件,包括网页、图片和其他类型的内容。你将首先了解 wget 命令的用途和语法,包括常用选项和示例用法。然后,你将学习如何使用 wget 从互联网下载文件,以及如何通过 wget 脚本自动化文件下载。

Linux 命令速查表


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux(("Linux")) -.-> linux/PackagesandSoftwaresGroup(["Packages and Softwares"]) linux/FileandDirectoryManagementGroup -.-> linux/cd("Directory Changing") linux/FileandDirectoryManagementGroup -.-> linux/mkdir("Directory Creating") linux/PackagesandSoftwaresGroup -.-> linux/curl("URL Data Transferring") linux/PackagesandSoftwaresGroup -.-> linux/wget("Non-interactive Downloading") subgraph Lab Skills linux/cd -.-> lab-423004{{"Linux wget 命令实用示例"}} linux/mkdir -.-> lab-423004{{"Linux wget 命令实用示例"}} linux/curl -.-> lab-423004{{"Linux wget 命令实用示例"}} linux/wget -.-> lab-423004{{"Linux wget 命令实用示例"}} end

了解 wget 命令的用途和语法

在这一步中,你将学习 Linux 中 wget 命令的用途和语法。wget 命令是一个强大的工具,用于从互联网下载文件。

首先,让我们了解 wget 命令的基本语法:

wget [options] [URL]

wget 最常用的选项包括:

  • -O--output-document=FILE:以不同的文件名保存下载的文件。
  • -P--directory-prefix=PREFIX:将下载的文件保存到指定目录。
  • -c--continue:继续之前中断的下载。
  • -r--recursive:递归下载文件,包括目录和子目录。
  • -b--background:在后台运行 wget

示例用法:

wget https://example.com/file.zip

这将从 URL https://example.com/file.zip 下载文件 file.zip 并保存到当前目录。

示例输出:

--2023-04-11 10:00:00--  https://example.com/file.zip
Resolving example.com (example.com)... 93.184.216.34
Connecting to example.com (example.com)|93.184.216.34|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 12345678 (12M) [application/zip]
Saving to: 'file.zip'

file.zip            100%[===================>]  12.35M  3.32MB/s    in 3.7s

2023-04-11 10:00:04 (3.32 MB/s) - 'file.zip' saved [12345678/12345678]

输出显示了下载进度、文件大小以及完成下载所需的时间。

使用 wget 从互联网下载文件

在这一步中,你将学习如何使用 wget 命令从互联网下载文件。

让我们从下载一个网站上的文件开始:

wget https://example.com/file.zip

这将从 URL https://example.com/file.zip 下载 file.zip 文件并保存到当前目录。

示例输出:

--2023-04-11 10:00:00--  https://example.com/file.zip
Resolving example.com (example.com)... 93.184.216.34
Connecting to example.com (example.com)|93.184.216.34|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 12345678 (12M) [application/zip]
Saving to: 'file.zip'

file.zip            100%[===================>]  12.35M  3.32MB/s    in 3.7s

2023-04-11 10:00:04 (3.32 MB/s) - 'file.zip' saved [12345678/12345678]

你也可以使用 -O--output-document 选项将下载的文件保存为不同的名称:

wget -O myfile.zip https://example.com/file.zip

这将下载相同的文件,但将其保存为 myfile.zip 而不是 file.zip

如果你想将文件下载到特定目录,可以使用 -P--directory-prefix 选项:

wget -P ~/downloads https://example.com/file.zip

这将下载文件并将其保存到 ~/downloads 目录中。

使用 wget 脚本自动化文件下载

在这一步中,你将学习如何在脚本中使用 wget 来自动化文件下载。

首先,让我们创建一个简单的脚本来下载多个文件:

#!/bin/bash

## 要下载的 URL
urls=(
  "https://example.com/file1.zip"
  "https://example.com/file2.tar.gz"
  "https://example.com/file3.pdf"
)

## 下载每个文件
for url in "${urls[@]}"; do
  wget "$url"
done

将此脚本保存为 download_files.sh 并使其可执行:

chmod +x download_files.sh

现在,你可以运行脚本来下载文件:

./download_files.sh

这将下载 urls 数组中指定的三个文件。

你也可以在脚本中为 wget 命令添加选项。例如,将文件保存到特定目录:

#!/bin/bash

## 下载目录
download_dir="~/downloads"

## 要下载的 URL
urls=(
  "https://example.com/file1.zip"
  "https://example.com/file2.tar.gz"
  "https://example.com/file3.pdf"
)

## 如果下载目录不存在,则创建它
mkdir -p "$download_dir"

## 下载每个文件
for url in "${urls[@]}"; do
  wget -P "$download_dir" "$url"
done

此脚本将创建 ~/downloads 目录(如果它尚不存在),并将文件下载到该目录中。

总结

在本实验中,你学习了 Linux 中 wget 命令的用途和语法,这是一个用于从互联网下载文件的强大工具。你探索了 wget 的常用选项,例如 -O 用于以不同名称保存下载的文件,-P 用于将文件保存到指定目录,-c 用于继续之前中断的下载,-r 用于递归下载文件,以及 -b 用于在后台运行 wget。你还学习了如何使用 wget 从互联网下载文件,包括指定 URL 并观察下载进度、文件大小以及完成下载所需的时间。

接着,你学习了如何通过 wget 脚本自动化文件下载,这使你可以更高效地安排和管理多个文件的下载。

Linux 命令速查表