处理重定向

curl 命令很聪明,因为它可以跟随重定向。
我们所要做的就是使用 -L 开关,如下所示:

curl -OL

在后台运行'curl'

默认情况下,curl 命令会显示一个进度条,告诉我们还剩多少传输以及传输了多少数据。

如果我们只想在没有进度条的情况下运行命令,则需要在静默模式下运行它。
然后将其作为后台命令运行。

要静默运行命令,请使用 -s 开关:

curl -s -O

要在后台执行命令,请使用与号,如下所示:

curl -s -O &

在没有进度条的情况下运行 curl 命令更加精简,但我们不知道传输需要多长时间或者预计完成时间。

Linux Curl 命令使用示例

curl 命令使用一系列常见协议(包括 HTTP、HTTPS、FTP 和 SMB)通过网络或者 Internet 传输文件。
使用它来访问 FTP 站点、发送电子邮件、连接到 SAMBA 地址、上传和下载文件以及相关任务。

curl 命令有很多参数。
我们可以在 curl 手册页上看到这些参数的完整列表。

将“curl”的内容定向到文件

当我们下载 ISO 镜像等对象时,请将其发送到文件而不是标准输出。

要将内容保存到文件,请按如下方式指定 -o 开关:

curl -o

要下载基本命令用法部分中链接的页面,请输入以下命令:

curl -o google.htm http://www.google.com

文件下载后,在编辑器或者由文件类型确定的默认程序中打开它。

我们可以使用 -O 开关进一步简化,如下所示:

curl -O http://www.google.com/index.html

此开关使用 URL 的文件名部分并使其成为保存 URL 的文件名。

-o 和 -O 开关必须引用特定文件;它们不能一般指向文件夹或者顶级 URL。
在这种情况下,curl 命令会报告无长度错误。

基本的“curl”命令用法

在其基本形式中,curl 将网页内容下载到终端窗口。

curl http://www.google.com

从 FTP 服务器下载文件

curl 命令处理的不仅仅是 HTTP 文件传输。
它可以处理 FTP、GOPHER、SMB、HTTPS 和其他格式。

要从 FTP 服务器下载文件,请使用以下命令:

curl -u user:password -o

如果我们将文件名指定为 URL 的一部分,它将下载该文件,但如果我们指定一个文件夹的名称,它将返回一个文件夹列表。

使用 curl 通过使用以下命令将文件上传到 FTP 服务器:

curl -u user:password -T

文件名和使用与下载多个 HTTP 文件相同的模式匹配。

使用“curl”下载多个 URL

以最简单的形式,通过按顺序指定多个 URL 同时下载它们:

curl -O http://www.mysite.com/page1.html -O http://www.mysite.com/page2.html

要下载具有通用命名模式的大量文件,请使用方括号提供范围。
例如,要获取后缀为 1 到 100 的图像文件,请指定以下内容:

curl -O http://www.mysite.com/images/image[1-100].jpg

使用大括号指定具有相似格式的多个站点。

例如,要下载 www.google.com 和 www.bing.com 的索引页面,请使用以下命令:

curl -O http://www.{google,bing}.com

shell 可能会根据需要重写这些命令。

显示进度

默认情况下,curl 命令在下载 URL 时返回以下信息:

  • Total % : 总传输完成的百分比。
  • 总字节数:传输的总大小(以字节为单位)。
  • Received/Transferred % : 传输完成的百分比。
  • Received/Transferred bytes : 下载的字节数。
  • 平均下载速度:以每秒字节数为单位的下载速度。
  • 平均上传速度:以每秒字节数为单位的上传速度。
  • 总时间:完成当前操作的估计时间。
  • 花费的时间:自传输开始以来经过的时间。
  • 剩余时间:完成传输的预期时间。
  • 当前速度:以每秒字节数为单位的当前传输速度。

如果我们更喜欢简单的进度条,请按如下方式指定 -# 开关:

curl -# -O
日期:2020-07-15 11:16:33 来源:oir作者:oir