Linux卷曲命令的示例使用

在本指南中,您将看到如何使用curl命令下载文件和网页。 如果你想知道卷曲是什么以及什么时候应该使用它,请阅读这个页面

curl命令可用于使用多种不同格式传输文件,包括http,https,ftp甚至smb。

本指南将向您展示如何使用该命令,并向您介绍许多按键开关和功能。

基本卷曲命令用法

curl命令可用于从互联网上下载文件,但在其基本形式中,您可以将网页内容直接下载到终端窗口。

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

curl http://linux.about.com/cs/linux101/g/curl.htm

输出将在终端窗口中向上滚动,并会显示链接网页的代码。

显然,页面滚动速度太快而无法阅读,所以如果您希望减慢速度,您应该使用less命令more命令

curl http://linux.about.com/cs/linux101/g/curl.htm | 更多

输出卷曲到文件的内容

基本curl命令用法的问题在于文本滚动速度非常快,如果您正在下载文件(如ISO映像),则不希望这会转到标准输出。

要将内容保存到文件中,您只需指定minus o(-o)开关,如下所示:

curl -o

因此,要下载链接到基本命令用法部分的页面,您只需输入以下命令:

curl -o curl.htm http://linux.about.com/cs/linux101/g/curl.htm

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

您可以通过使用负O开关(-O)进一步简化,如下所示:

curl -O http://linux.about.com/cs/linux101/g/curl.htm

这将使用URL的文件名部分,并将其作为URL保存到的文件名。 在上面的例子中,该文件将被称为curl.htm。

在背景中运行卷曲命令

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

如果你只是想让命令运行,以便你可以继续其他事情,那么你需要做的第一件事是以静默方式运行它,然后你需要将它作为后台命令运行。

要以静默方式运行命令,请使用以下命令:

curl -s -O

要让命令在后台运行,您需要使用&符号(&),如下所示:

curl -s -o

使用卷曲下载多个URL

您可以使用单个curl命令从多个URL下载。

以最简单的形式,您可以下载多个URL,如下所示:

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

想象一下,尽管你有一个包含100个图像的文件夹,所有这些文件都被称为image1.jpg,image2.jpg,image3.jpg等等。你不需要输入所有这些URL,也不需要。

您可以使用方括号来提供范围。 例如,要获取文件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

显示进度

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

如果你想要一个简单的进度条,只需指定减号哈希( - #)开关,如下所示:

curl - #-O

处理重定向

想象一下,你已经指定了一个URL作为curl命令的一部分,并认为你有正确的地址来下载一个大文件,以便稍后再回来发现你所拥有的只是一个网页,指出“该页面已被重定向到www.blah。 COM”。 这将是讨厌的不是。

curl命令很聪明,因为它可以遵循重定向。 你所要做的就是使用负L开关(-L),如下所示:

curl -OL

降低下载速度

如果你正在下载一个大文件,并且你的互联网连接不好,那么如果他们想要在互联网上做东西,你也可能会惹恼家人。

幸运的是,您可以使用curl命令来降低下载速度,这样虽然下载文件需要更长的时间,但您可以让每个人都快乐。

curl -O - 极限速率1m

速率可以指定为千字节(k或K),兆字节(m或m)或千兆字节(g或G)。

从FTP服务器下载文件

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

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

curl -u用户:密码-o

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

您还可以使用curl通过使用以下命令将文件上载到FTP服务器:

curl -u用户:密码-T

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

将表单数据传递给表单

您可以使用卷曲来填写在线表单并提交数据,就像您在线填写数据一样。 许多受欢迎的服务(例如Google)阻止了这种用法。

想象一下,有一个名称和电子邮件地址的表单。 您可以按照以下方式提交此信息:

curl -d name = john email=john@mail.com www.mysite.com/formpage.php

有多种方式传输表单信息。 上述命令使用基本文本,但如果您想使用允许图像传输的多编码,则需要使用负F开关(-F)。

概要

curl命令有许多不同的身份验证方法,您可以使用它来访问FTP站点,发送电子邮件,连接到SAMBA地址,上传和下载文件以及许多其他内容。

要获得更多关于卷曲的信息,请阅读手册页。