使用实例Linux Curl命令

使用“curl”使用通用internet协议上载和下载文件

这个卷曲command使用一系列通用协议(包括HTTP、HTTPS、FTP和SMB)通过网络或从internet传输文件。使用它访问FTP站点、发送电子邮件、连接到SAMBA地址、上载和下载文件以及相关任务。

这个卷曲命令有许多参数。您可以在上看到这些参数的完整列表卷曲手册页.

“curl”命令的基本用法

在其基本形式中,卷曲下载网页内容到终端窗口.

例如,在终端窗口中输入以下命令:

curl http://www.google.com

谷歌的登陆页面的HTML显示在标准输出中。

将'curl'的内容指向一个文件

当您下载一个对象(如ISO映像)时,请将其发送到文件中,而不是发送到标准输出。

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

curl - o

要下载在基本命令使用部分链接到的页面,输入以下命令:

curl-o google.htmhttp://www.google.com
卷曲重定向

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

可以通过使用- o开关如下:

旋度-Ohttp://www.google.com/index.html

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

这个- o- o开关必须引用特定的文件;它们不能泛指文件夹或顶级URL。这个卷曲在这种情况下,命令会报告无长度错误。

在后台运行“curl”

默认情况下卷曲命令会显示一个进度条,告诉您还剩下多少传输以及已经传输了多少数据。

如果你只是想让命令在没有进度条的情况下运行,你需要在静默模式下运行它。那就把它当作后台命令.

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

旋度-s-O

在后台执行命令时,使用“&”,如下所示:

curl -s -O &

运行卷曲不带进度条的命令更为精简,但您不知道传输需要多长时间,也不知道传输应该完成多长时间。

使用curl下载多个url

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

旋度-Ohttp://www.mysite.com/page1.html -Ohttp://www.mysite.com/page2.html

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

旋度-Ohttp://www.mysite.com/images/image[1-100].jpg

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

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

curl - o http://www。{谷歌,bing}。com

您的shell可以根据需要重写这些命令。了解有关相关上下文的正则表达式的更多信息。

两个站点的Curl

显示进度

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

  • 总%:已完成传输总量的百分比。
  • 总计字节:以字节为单位的传输的总大小。
  • 已收/已转%:完成传输的百分比。
  • 接收/传输的字节数:下载的字节数。
  • 平均下载速度:下载速度(以字节/秒为单位)。
  • 平均上传速度:上传速度(以字节/秒为单位)。
  • 总时间:完成当前操作的估计时间。
  • 时间:时间从开始转移开始。
  • 时间了:完成传输的预期时间。
  • 当前速度:当前的传输速度,单位为字节/秒。

如果您想要一个简单的进度条,请指定- #开关如下:

curl - # - o

处理重定向

这个卷曲命令很聪明,因为它可以跟踪重定向。你所要做的就是使用- l开关如下:

旋度

从FTP服务器下载文件

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

从一个FTP服务器,使用以下命令:

Curl -u user:password -o

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

使用卷曲将文件上传到FTP服务器。

curl -u user:password

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

这个页面有用吗?