如何使用Wget将文件下载到特定目录?


作为命令行工具的常用用户,我们经常需要从互联网下载文件。“Wget”是此任务的首选工具之一,它提供了一种从命令行高效下载文件的方法。但是,我们会发现指定下载文件保存目录非常重要。

在本文中,我们将分享使用“Wget”将文件下载到特定目录的经验。我们将探讨可以使用哪些不同的命令行选项和参数来指定下载目录,并提供实际示例来说明其用法。阅读本文后,您将能够轻松地使用Wget将文件下载到特定目录。

Wget 的基本语法是:

$ wget [option] [URL]

我们假设您已了解命令行的基本使用方法,并且已经在系统上安装了Wget。如果您的 Ubuntu 或基于 Debian 的系统上未安装 Wget,则可以通过执行以下命令来安装它。

$ sudo apt-get update
$ sudo apt-get install wget

1. 将文件下载到特定目录

我们将解释如何在不更改当前工作目录的情况下下载文件并将其保存到特定目录。要设置保存所有检索到的文件和子目录的目录前缀,可以使用 Wget 的“-P”或“--directory-prefix”选项。这样可以轻松地将下载的文件整理到不同的文件夹中,而无需在下载后手动移动文件。

将文件下载到特定目录的“-P”命令语法:

$ wget -P /path/to/directory URL

运行此命令后,您可以得到如下输出:

$ wget -P /home/user/Downloads https://tutorialspoint.com/file.zip
--2023-02-24 11:25:45--  https://tutorialspoint.com/file.zip
Resolvingtutorialspoint.com(tutorialspoint.com)..93.184.216.34,2606:2800:220:1:248:1893:25c8:1946
Connecting to tutorialspoint.com (tutorialspoint.com)|93.184.216.34|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 4781945 (4.6M) [application/zip]
Saving to: '/home/user/Downloads/file.zip'
/home/user/Downloads/file.zip           100%[==============================================================================>]   4.56M  2.39MB/s    in 1.9s    
2023-02-24 11:25:48 (2.39 MB/s) - '/home/user/Downloads/file.zip' saved [4781945/4781945]

在此示例中,该命令从 tutorialspoint.com 网站下载示例文件,并将文件保存到 /home/user/Documents 特定目录。终端输出显示下载进度,包括域名解析、服务器连接、HTTP 请求以及下载文件的尺寸和类型。

2. 将多个文件下载到特定目录

Wget 命令是一个功能强大的命令行工具,可用于从网站或服务器下载多个文件。要下载多个文件,只需将要下载的文件的 URL 作为参数写入命令即可。我们还可以使用 -P 选项指定要保存下载文件的目录。

输入

$ wget -P /home/user/Downloads https://tutorialspoint.com/file1.zip https://tutorialspoint.com/file2.zip https://tutorialspoint.com/file3.zip

在此示例中,get 命令从 tutorialspoint.com 网站下载三个文件,并将它们保存到 /home/user/Downloads 目录。输出将如下所示,包含与三个文件相关的所有信息。

输出

--2023-03-03 10:22:38--  https://tutorialspoint.com/file1.zip
Resolving tutorialspoint.com (tutorialspoint.com)... 93.184.216.34
Connecting to tutorialspoint.com (tutorialspoint.com)|93.184.216.34|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 250 [application/zip]
Saving to: '/home/user/Downloads/file1.zip'
/home/user/Downloads/file1.zip               100%[=================================================================>]     250  --.-KB/s    in 0s      
2023-03-03 10:22:39 (13.4 MB/s) - '/home/user/Downloads/file1.zip' saved [250/250]
--2023-03-03 10:22:39--  https://tutorialspoint.com/file2.zip
Resolving tutorialspoint.com (tutorialspoint.com)... 93.184.216.34
Connecting to tutorialspoint.com (tutorialspoint.com)|93.184.216.34|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 250 [application/zip]
Saving to: '/home/user/Downloads/file2.zip'
/home/user/Downloads/file2.zip               100%[=================================================================>]     250  --.-KB/s    in 0s      
2023-03-03 10:22:39 (15.2 MB/s) - '/home/user/Downloads/file2.zip' saved [250/250]
--2023-03-03 10:22:39--  https://tutorialspoint.com/file3.zip
Resolving tutorialspoint.com (tutorialspoint.com)... 93.184.216.34
Connecting to tutorialspoint.com (tutorialspoint.com)|93.184.216.34|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 250 [application/zip]
Saving to: '/home/user/Downloads/file3.zip'
/home/user/Downloads/file3.zip               100%[=================================================================>]     250  --.-KB/s    in 0s      
2023-03-03 10:22:39 (19.4 MB/s) - '/home/user/Downloads/file3.zip' saved [250/250]

3. 将多个网站的文件下载到不同的目录

当我们需要从多个网站下载文件并将其整理到不同的目录中时,我们会使用 Wget 命令。使用 Wget,我们可以轻松地从不同的网站下载文件并将其保存到不同的目录中,而无需在下载后手动移动每个文件。

为此,我们将 URL 列表作为参数提供给命令,然后使用 -P 选项为每个 URL 提供目录路径。例如,假设我们要下载三个文件:来自 tutorialspoint1.com 的 file1,来自 tutorialspoint2.com 的 file2,以及来自 tutorialspoint3.com 的 file3。我们想将 file1 保存到 /home/user/tutorialspoint1,file2 保存到 /home/user/tutorialspoint2,file3 保存到 /home/user/tutorialspoint3。

为此,我们将使用以下命令:

$ wget -P /path/to/directory1 URL1 -P /path/to/directory2 URL2 -P /path/to/directory3 URL3 ...

以下命令的输出:

--2023-02-25 06:00:00--  URL1
Resolving URL1 (URL1)... connected.
HTTP request sent, awaiting response... 200 OK
Length: 12345 (12K) [text/plain]
Saving to: '/path/to/directory1/file1.txt'
/path/to/directory1/file1.txt     100%[======================================>]  12.05K  --.-KB/s    in 0s --2023-02-25 06:00:01--  URL2
Resolving URL2 (URL2)... connected.
HTTP request sent, awaiting response... 200 OK
Length: 67890 (66K) [text/plain]
Saving to: '/path/to/directory2/file2.txt'
/path/to/directory2/file2.txt     100%[======================================>]  66.28K --.-KB/s    in 0s --2023-02-25 06:00:02--  URL3
Resolving URL3 (URL3)... connected.
HTTP request sent, awaiting response... 200 OK
Length: 13579 (13K) [text/plain]
Saving to: '/path/to/directory3/file3.txt'
/path/to/directory3/file3.txt     100%[======================================>]  13.26K  --.-KB/s    in 0s      

使用 wget 下载大型文件可能是一项耗时的任务,网络错误会使它更加令人沮丧。wget 中的“-c”或“--continue”命令允许您继续下载部分下载的文件。当您需要暂停或重新启动下载时,此功能非常有用,可以节省您的时间和精力。

输入命令:

$ wget -c https://tutorialspoint.com/myfile.zip

输出命令:

--2023-02-24 14:30:00--  https://tutorialspoint.com/myfile.zip
Resolving tutorialspoint.com (tutorialspoint.com)... 192.169.82.67
Connecting to tutorialspoint.com (tutorialspoint.com)|192.169.82.67|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1024000 (1000K) [application/zip]
Saving to: 'myfile.zip'
myfile.zip           0%[                    ]       0  --.-KB/s               
myfile.zip          25%[==                  ] 254.49K  1.09MB/s               
myfile.zip          50%[========            ] 512.00K  1.20MB/s               
myfile.zip          75%[==============>     ] 768.00K  1.27MB/s               
myfile.zip         100%[===================>] 1000K   1.35MB/s    in 0.8s    
2023-02-24 14:30:01 (1.35 MB/s) - 'myfile.zip' saved [1024000/1024000]

有关 wget 命令的更多信息,我们可以输入 man wget 命令。

$ man wget 

结论

总之,使用 wget 命令可以方便快捷地将互联网上的文件下载到系统上的特定目录。使用 -P 命令,您可以指定要保存下载文件的目录。总的来说,掌握 wget 及其各种选项的使用可以显著简化和简化您的文件下载过程。无论您是经验丰富的 Linux 用户还是刚入门,了解如何使用 wget 都是一项宝贵的技能。

更新于:2023年7月27日

13K+ 浏览量

开启你的职业生涯

完成课程获得认证

开始学习
广告