首页 > 系统相关 >2 种从 Linux 终端下载文件的方法

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

时间:2024-01-18 10:33:49浏览次数:39  
标签:文件 使用 终端 Linux wget curl 下载

如果你被困在 Linux 终端,比如说在服务器上,如何从终端下载文件?

在 Linux 中是没有 download 命令的,但是有几个 Linux 命令可用于下载文件。

在这篇终端技巧中,你将学习两种在 Linux 中使用命令行下载文件的方法。

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

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

wget 也许是 Linux 和类 UNIX 系统中使用最多的命令行下载管理器。你可以使用 wget 下载一个文件、多个文件、整个目录甚至整个网站。

wget 是非交互式的,可以轻松地在后台工作。这意味着你可以很容易地在脚本中使用它,甚至构建像 uGet 下载管理器这样的工具。

让我们看看如何使用 wget 从终端下载文件。

安装 wget

大多数 Linux 发行版都预装了 wget。它也可以在大多数发行版的仓库中找到,你可以使用发行版的包管理器轻松安装它。

在基于 Ubuntu 和 Debian 的发行版上,你可以使用 apt 包管理器命令:

sudo apt install wget

使用 wget 下载文件或网页

你只需要提供文件或网页的 URL。它将在你所在的目录下以原始名下载该文件。

wget URL

image

要下载多个文件,你必须将它们的 URL 保存在一个文本文件中,并将该文件作为输入提供给 wget,就像这样:

wget -i download_files.txt

用 wget 下载不同名字的文件

你会注意到,网页在 wget 中几乎总是以 index.html 的形式保存。为下载的文件提供自定义名称是个好主意。

你可以在下载时使用 -O (大写字母 O) 选项来提供输出文件名:

wget -O filename URL

image

用 wget 下载一个文件夹

假设你正在浏览一个 FTP 服务器,你需要下载整个目录,你可以使用递归选项 -r

wget -r ftp://server-address.com/directory

使用 wget 下载整个网站

是的,你完全可以做到这一点。你可以用 wget 镜像整个网站。我说的下载整个网站是指整个面向公众的网站结构。

虽然你可以直接使用镜像选项 -m,但最好加上:

convert-links:链接将被转换,使内部链接指向下载的资源,而不是网站。
page-requisites:下载额外的东西,如样式表,使页面在离线状态下看起来更好。

wget -m --convert-links --page-requisites website_address

image

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

如果你因为某些原因按 CTRL-C 键中止了下载,你可以用选项 -c 恢复之前的下载:

wget -c

使用 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

image

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

curl -O URL1 URL2 URL3

请记住,curl 不像 wget 那么简单。wget 可以将网页保存为 index.htmlcurl 却会抱怨远程文件没有网页的名字。你必须按照下一节的描述用一个自定义的名字来保存它。

用不同的名字下载文件

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

curl -o filename URL

image

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

用 curl 暂停和恢复下载

wget 一样,你也可以用 curl-c 选项恢复暂停的下载:

curl -c URL

总结

和以往一样,在 Linux 中做同一件事有多种方法。从终端下载文件也不例外。

wgetcurl 只是 Linux 中最流行的两个下载文件的命令。还有更多这样的命令行工具。基于终端的网络浏览器,如 elinksw3m 等也可以用于在命令行下载文件。

就个人而言,对于一个简单的下载,我更喜欢使用 wget 而不是 curl。它更简单,也不会让你感到困惑,因为你可能很难理解为什么 curl 不能以预期的格式下载文件。

欢迎你的反馈和建议。

来自:Linux中国

标签:文件,使用,终端,Linux,wget,curl,下载
From: https://www.cnblogs.com/kabion536/p/17971975

相关文章

  • 连接云服务器及Linux常用指令学习
    连接云服务器及Linux常用指令学习:https://blog.csdn.net/qq_50748038/article/details/126124924centos超级用户普通用户切换:https://blog.csdn.net/day_in_night/article/details/39477155?ops_request_misc=&request_id=&biz_id=102&utm_term=centeros%20%E5%88%87%E6%8D%A2%......
  • subline text 的package control 下载插件不全的解决办法
    起初我打算在sublinetext安装几个好用的插件方便刷题使用,可是在packagecontrol上找不到该插件,但是在https://packagecontrol.io/packages/这个插件是存在的,无奈之下重装packagecontrol问题依旧存在,于是只能从本地下载导入,但是效率很低,后来我发现,是由于我的packagecontrol使用......
  • 入门Linux运维工程师需要掌握的知识点和工具以及技能
    Linux系统的学习,可以选用redhat或centos,特别是centos在企业中用得最多,当然还会有其它版本的,比如Ubuntu等,根据自己的工作情况和兴趣来定。当然不同发行版本主要是包上的区别以及一些命令的差异,其他内核上的东西都大同小异。对于刚入门或准备入门Linux运维的来说,整理总结了以下10个......
  • linux下配置wifi自动获取ip地址
    wpa或者wpa2加密网的wifi操作步骤:1、配置WPA和WPA2加密的WiFi,主要使用wpa_supplicant工具,它被设计成一个运行在后台的守护进程。可以看成两个主要可执行工具:wpa_supplicant:后台运行,相当于服务端。wpa_cli:前端来进行搜索,设置和连接网络,相当于客户端。2、wpa_cli和wpa_supplicant......
  • archlinux xfce 出现[FAILED] Failed to mount /boot, systemctl status boot.mount出
    开机显示:[FAILED]Failedtomount/boot使用命令systemctlstatusboot.mount后出现mount:/boot:unknownfilesystemtype'vfat':pacman-Qilinux显示安装了6.7.arch3-1版本的内核而uname-a显示6.6.10-arch1-1版本的内核我的环境是archxfce+windows8.1个人原因......
  • linux系统安装dpdk
    预安装编译dpdk所需软件dpdk20.11与之前版本相比,使用了meson和ninjia的编译方式#aptinstallpython3.8python3-pyelftools由于meson依赖python3.7及以上版本,这里选择安装python3.8如果选择pip安装meson和ninja#pip3installmesonninja--user(pip3安装meson默认安装在/......
  • Python、Anaconda、PyCharm和终端的关系及其作用
    Python是一种高级编程语言,广泛应用于数据分析、科学计算、Web开发等领域。为了便于开发和运行Python程序,我们通常会使用一些工具和环境。其中,Anaconda是一个Python发行版,提供了大量的科学计算和数据处理库;PyCharm是一款强大的Python集成开发环境(IDE);终端(或命令行)则是执行Python代码......
  • Linux中数据传输工具速率对比
    速率对比当前主流数据传输工具:cp、rsync、dd测试流程准备两个相同大小的目录和文件,这是因为dd主要用来拷贝文件、分区和磁盘,一般不用来拷贝目录。安装可视化工具:##centos扩展包yum-yinstallepel-releaseyuminstall-ypv##ubuntuaptinstallpv-y##cp同步命......
  • zblog文章采集发布插件-免费下载
    推荐一款可以自动采集网页文章,并发布到zblog系统网站的zblog采集发布插件,支持简数采集器,火车头数据采集器,八爪鱼文章采集器,后羿采集器等...... zblog采集发布插件使用教程如下: 1.安装zblog文章采集发布插件1-1)zblog文章采集发布插件免费下载地址:Zblog文章采集发布插件1-2)将......
  • C# 下载文件 (ASP.NET Core Web API )
    usingMicrosoft.AspNetCore.Mvc;usingSystem.IO;usingMicrosoft.AspNetCore.Hosting;usingMicrosoft.AspNetCore.Authorization;usingMicrosoft.Extensions.Logging;usingMicrosoft.AspNetCore.StaticFiles;usingSystem.Threading.Tasks;namespaceFCore.Saas.......