大多数系统管理员甚至一些标准用户更喜欢使用命令行来完成日常任务,例如编辑和删除文件、创建和删除用户、查找 IP 地址等。其中一个原因是命令行速度更快并且使用更少的资源。 用户经常做的另一件事是下载文件。 他们还可以使用命令行更轻松、更快速地完成此操作。 wget 和 curl 是命令行实用程序,可让您从命令行下载文件。
在这篇文章中,我们将描述如何使用 wget 和 curl 实用程序从命令行下载 Ubuntu 上的文件。
笔记: 我们将在 Ubuntu 20.04 系统。
使用 Wget 下载文件
Wget 是一个命令行工具,用于从 Web 下载文件。 使用 wget,您可以下载单个 HTML 文件或整个网站。 它支持使用 HTTP、HTTPS 和 FTP 协议下载文件。 它几乎安装在所有 Linux 操作系统上。 但是,如果您在系统中找不到它或被错误地删除,您可以按如下方式安装它:
$ sudo apt install wget
wget 命令的基本语法如下:
$ wget [option]… [URL]…
从命令行下载文件
要从命令行下载文件,只需键入 wget 后跟要下载的文件的 URL。 假设从网站下载“vnstat-2.6.tar.gz”一个网络流量监控包,命令是:
$ wget https://humdi.net/vnstat/vnstat-2.6.tar.gz
Wget 将开始下载文件,您将看到进度。 该文件将保存到终端的当前目录。
恢复部分下载的文件
如果由于任何原因停止下载,或者您通过按 Ctrl+C 手动停止下载,您可以使用 wget 命令恢复下载 -C 选项。 此选项允许您在您离开的地方继续下载部分下载的文件。
$ wget -c <URL>
关闭详细输出
默认情况下,wget 显示详细输出,其中显示了下载过程的所有详细信息。 如果需要,可以使用 wget 限制此输出 -nv 选项。
$wget -nv <URL>
该选项仅显示下载过程的基本信息。
要完全关闭详细输出,请使用 -q 选项:
$ wget -q <URL>
下载多个文件
要下载多个文件,请键入 wget,后跟所有文件的 URL。
$ wget <URL1> <URL2>
wget 命令将下载这两个文件并将它们保存到您当前的终端目录。
下载多个文件的另一种方法是使用 wget -一世 选项。 假设您需要下载大量文件。 您只需创建一个文本文件并列出该文件中的所有 URL(每行一个 URL)。 然后输入 wget 后跟 -一世 选项和包含 URL 列表的文件名:
$ wget -i <filename>
笔记:在上面的输出中,我们使用了 -nv 关闭详细输出的选项。
使用 Curl 下载文件
Curl 是一个命令行工具,用于将文件下载到服务器或从服务器上传文件。 它支持超过 20 种协议,包括 FTP、HTTP、HTTPS、TFTP、IMAP、LDAP 等
Curl 几乎安装在所有 Linux 操作系统上。 但是,如果您在系统中找不到它或被错误地删除,您可以按如下方式安装它:
$ sudo apt install curl
的基本语法 curl 命令如下:
$ curl [option]… [URL]…
基本的 curl 命令用法
的基本用途 curl 命令是下载单个文件或网页的内容。 假设要下载一个网页“index.html”,我们会输入 curl 后跟网页的 URL:
$ curl <URL>
此命令将下载您当前目录中的指定文件。
上面运行后 curl 命令,您将看到屏幕上显示的 HTML 内容类似于以下内容:
Save 页面内容到文件
您可以下载页面内容并将其保存到文件中,而不是在屏幕上显示。 要将文件保存到您的系统,请使用 curl 命令 -O 或者 -o 选项。 这 -O 选项以与远程位置的文件相同的名称保存文件。 虽然 -o 选项允许以不同的名称保存文件。
使用 -O 选项
随着 -O 选项,您不需要指定文件名。 它将使用远程位置的文件名将文件保存在您的系统中。
$ curl -O <URL>
例如,以下命令将使用名称“index.html”保存文件:
$ curl -O https://www.cisco.com/c/en/us/support/switches/index.html
使用 -o 选项
随着 -o 选项,您可以指定您选择的文件名。
$ curl -o filename <URL>
例如,以下命令将使用名称“switches.html”保存文件:
$ curl -o switches.html https://www.cisco.com/c/en/us/support/switches/index.html
跑 curl 默默
如果您不想在运行过程中查看任何进度条或任何错误消息 curl 下载过程中,您可以使用 -s 选项如下:
$ curl -s <URL>
下载多个文件
要下载多个文件,请键入 curl 后跟所有文件的 URL:
$ curl -O [URL1] -O [URL2] -O [URL3]….
此命令会将所有文件保存到您当前的终端目录。
如果需要下载的 URL 太多,则创建一个文本文件并列出其中的 URL。
然后要下载文件中列出的所有 URL,请使用以下命令:
$ xargs -n 1 curl -O < filename
然后您可以使用 ls 命令确认是否所有文件都已下载。
恢复部分下载的文件
如果由于任何原因停止下载,或者您已通过按 Ctrl+C 手动停止下载,您可以使用 curl 命令 ”-C –“ 选项。 此选项允许您在您离开的地方继续下载部分下载的文件。
$ curl -C - <URL>
wget 和 curl 是用于非交互式下载文件的免费和开源命令行实用程序。 请记住,尽管这两个实用程序都可以从 Web 下载文件; 它们在功能方面确实存在很大差异。 你可以拜访 wget 和 curl 有关这些实用程序功能的详细概述的手册页。