2 种从 Linux 终端下载文件的方法
文章插图
在这篇终端技巧中 , 你将学习两种在 Linux 中使用命令行下载文件的方法 。
? 来源:linux.cn ? 作者:Abhishek Prakash ? 译者:geekpi ?
(本文字数:2792 , 阅读时长大约:4 分钟)
如果你被困在 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
文章插图
要下载多个文件 , 你必须将它们的 URL 保存在一个文本文件中 , 并将该文件作为输入提供给 wget , 就像这样:
wget -i download_files.txt用 wget 下载不同名字的文件
你会注意到 , 网页在 wget 中几乎总是以 index.html 的形式保存 。 为下载的文件提供自定义名称是个好主意 。
你可以在下载时使用 -O (大写字母 O) 选项来提供输出文件名:
wget -O filename URL
文章插图
用 wget 下载一个文件夹
假设你正在浏览一个 FTP 服务器 , 你需要下载整个目录 , 你可以使用递归选项 -r:
wget -r ftp://server-address.com/directory使用 wget 下载整个网站
是的 , 你完全可以做到这一点 。 你可以用 wget 镜像整个网站 。 我说的下载整个网站是指整个面向公众的网站结构 。
【2 种从 Linux 终端下载文件的方法】虽然你可以直接使用镜像选项 -m , 但最好加上:
- –convert-links:链接将被转换 , 使内部链接指向下载的资源 , 而不是网站 。
- –page-requisites:下载额外的东西 , 如样式表 , 使页面在离线状态下看起来更好 。
wget -m --convert-links --page-requisites website_address
文章插图额外提示:恢复未完成的下载
如果你因为某些原因按 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
文章插图在 Linux 中 , 用 curl 下载多个文件是比较简单的 。 你只需要指定多个 URL 即可:
curl -O URL1 URL2 URL3请记住 , curl 不像 wget 那么简单 。 wget 可以将网页保存为 index.html , curl 却会抱怨远程文件没有网页的名字 。 你必须按照下一节的描述用一个自定义的名字来保存它 。用不同的名字下载文件
这可能会让人感到困惑 , 但如果要为下载的文件提供一个自定义的名称(而不是原始名称) , 你必须使用 -o(小写 O)选项:
- 信新信息技|荣耀逐步“搬家”:官方公众号主体由 “华为终端”变为 “荣耀终端”
- 智能|全民视频生产力时代来临 智能终端步入视频新赛道
- 移植|开发者将移植ARM Mac的Linux系统 但需要得到资金支持
- 芯片|中国移动联合芯讯通发布《5G终端、芯片及测试产业报告》
- Linux|知名开发者要把Linux移植到苹果M1 Mac上
- 聚焦|聚焦终端,赋能千行万业,中国移动领跑全球5G
- Linux(服务器编程):百万并发服务器系统参数调优
- linux配置nginx定时日志分割
- Linux 之父对 C++ 进行了炮轰,C++不值得推荐?
- 2021年 中兴通讯终端业务将全面回归中国2C市场
