ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

教你 2 种从 Linux 终端下载文件的方法

2021-04-08 20:52:49  阅读:171  来源: 互联网

标签:文件 使用 终端 Linux wget curl 下载


如果您坚持使用Linux终端,例如在服务器上,该如何从终端下载文件?本文中你将学习两种在Linux中使用命令行下载文件的方法。

我在这里使用的是Ubuntu,但除了安装之外,其余的命令同样适用于所有其他Linux发行版。图片

01


使用wget命令从Linux终端下载文件

wget可能是Linux和类UNIX系统中使用最多的命令行下载管理器。你可以使用wget下载一个文件、多个文件、整个目录甚至整个网站。
wget是非交互式的,可以轻松的在后台工作。这意味着你可以很容易地在脚本中使用它,甚至可以构建uGet下载管理器之类的工具。让我们看看如何使用wget从终端下载文件。



安装wget

大多数Linux发行版都预装了wget。也可以在大多数发行版的软件库中找到它,你可以使用发行版的软件包管理器轻松安装它。在基于Ubuntu和Debian的发行版上,你可以使用apt包管理器命令:
sudo apt install wget
<以上代码可复制粘贴,可往左滑>



使用wget下载文件或网页

您只需要提供文件或网页的URL。它将以默认原始名称下载文件到您所在的目录中。
wget URL
<以上代码可复制粘贴,可往左滑>

要下载多个文件,您必须将它们的URL保存在一个文本文件中,并提供该文本文件作为wget的输入,如下所示:

wget -i download_files.txt
<以上代码可复制粘贴,可往左滑>



使用wget下载名称不同的文件

您会注意到,网页几乎总是以index.html的形式保存在wget中。为下载的文件提供自定义名称将是一个好主意。你可以使用-O(大写字母O)选项来提供下载时的输出文件名。
wget -O filename URL
<以上代码可复制粘贴,可往左滑>





使用wget下载文件夹

假设您正在浏览FTP服务器,并且需要下载整个目录,则可以使用递归选项
wget -r ftp://server-address.com/directorywget -O filename URL
<以上代码可复制粘贴,可往左滑>



使用wget下载整个网站

你可以用wget镜像整个网站。我说的下载整个网站是指整个面向公众的网站结构。虽然您可以直接使用mirror选项-m,但是最好添加:
  • –convert-links:转换链接,以便内部链接指向下载的资源而不是Web
  • –page-conditions:下载其他内容,例如样式表,以使页面在脱机状态下看起来更好

wget -m --convert-links --page-requisites website_addres
<以上代码可复制粘贴,可往左滑>

图片





额外提示:恢复未完成的下载

如果你因为某些原因按C键中止了下载,你可以用选项-c恢复之前的下载。
wget -c
<以上代码可复制粘贴,可往左滑>

2


使用curl从Linux命令行下载文件

和wget一样,curl也是Linux终端中最常用的下载文件的命令之一。有很多方法可以广泛地使用curl,但我在这里只关注简单的下载。



安装curl

虽然curl并不是预装的,但在大多数发行版的官方软件库中都有。你可以使用你的发行版的软件包管理器来安装它。要在Ubuntu和其他基于Debian的发行版上安装curl,请使用以下命令:
sudo apt install curl
<以上代码可复制粘贴,可往左滑>



使用curl下载文件或网页

如果你在使用curl命令时没有任何带URL的选项,它就会读取文件并打印在终端屏幕上。要在Linux终端中使用curl命令下载文件,必须使用-O(大写O)选项:
curl -O URL
<以上代码可复制粘贴,可往左滑>

图片

在Linux中,用curl下载多个文件是比较简单的。您只需要指定多个URL:

curl -O URL1 URL2 URL3
<以上代码可复制粘贴,可往左滑>

请记住,curl不像wget那么简单。当wget将网页保存为index.html时,curl会抱怨远程文件没有网页名称。你必须使用下一部分中所述的自定义名称保存它。





下载其他名称的文件

这可能会让人感到困惑,但如果要为下载的文件提供一个自定义的名称(而不是原始的源名称),则必须使用-o(小写O)选项:

curl -o filename URL
<以上代码可复制粘贴,可往左滑>

图片

有些时候,curl并不能像你期望的那样下载文件,你必须使用选项-L(代表位置)来正确下载。这是因为有些时候链接会重定向到其他链接,而使用选项-L,它就会跟随最终的链接。





用curl暂停和继续下载

与wget一样,也可以使用带有-c选项的curl恢复暂停的下载:
curl -c URL
<以上代码可复制粘贴,可往左滑>



结  论

在Linux中有多种方法可以执行相同的操作。从终端下载文件也不例外。wget和curl只是Linux中最流行的两个下载文件的命令。还有更多这样的命令行工具。基于终端的网络浏览器,例如elinks,w3m等,也可以用于在命令行中下载文件。就个人而言,对于一个简单的下载,我更喜欢使用wget而不是curl。因为wget更简单,也更不容易混淆,因为你可能很难理解为什么curl不能以预期的格式下载文件。


标签:文件,使用,终端,Linux,wget,curl,下载
来源: https://blog.51cto.com/u_15127536/2692964

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有