如果您坚持使用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中最流行的两个下载文件的命令。还有更多这样的命令行工具。基于终端的网络浏览器,例如elinksw3m等,也可以用于在命令行中下载文件。就个人而言,对于一个简单的下载,我更喜欢使用wget而不是curl。因为wget更简单,也更不容易混淆,因为你可能很难理解为什么curl不能以预期的格式下载文件。


©著作权归作者所有:来自51CTO博客作者mob604756eba0ee的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. PHP mkdir() Permission denied 文件权限不足解决办法
  2. Linux 中如何使用 Aria2 下载文件
  3. AIOps核心任务:任务机器人在金融领域中的落地(附文件下载)
  4. 上海老男孩IT教育:Linux运维入门教程09-01 (Samba服务)
  5. crmeb pro单商户iview vue后台前端用node.js编译打包教程
  6. 《Oracle DBA工作笔记》第二章 常用工具和问题分析
  7. 坚果云和亿方云哪个更适合企业?
  8. 坚果云和亿方云哪个更适合公司?
  9. 基础IO(c标准IO接口库)

随机推荐

  1. android 判断service是否开启
  2. android 命令大全
  3. How to install Android SDK and play wi
  4. Android横竖屏切换时,不重新onCreate()的
  5. Android Studio V0.2.x For Windows下载
  6. android短信发送
  7. Hostapd Android
  8. android 拍照 Camera类 使用照相机进行拍
  9. Android 代码设置EditText过滤汉字
  10. Android 屏幕滑动事件