Linux命令cURL如何访问FTP服务器

前言

cURL 是常用的命令行工具,用来请求 Web 服务器。它的名字就是客户端(client)的 URL 工具的意思。

cURL 的原作者是 Daniel Stenberg (目前是 cURL 的核心开发者),同时也是 IETF HTTPbis 工作组的资深成员。Daniel 在 1998 年创建了 curl 项目,他编写了最初的 curl 版本,并创建了 libcurl 库。到目前为止,代码仓库包括的 24000 次 commit 有超过一半是 Daniel 本人提交的,他依然是项目的核心开发者。Daniel 表示已将 curl 视为自己的孩子。

一、命令的安装

sudo apt-get install curl

二、cURL命令语法:

curl [options] [URL...]

三、命令

1)、列出ftp服务器上的目录列表

格式:

curl ftp://www.xxx.com/ --user name:passwd
curl ftp://www.xxx.com/ –u name:passwd #简洁写法
curl ftp://name:[email protected] #简洁写法2

举例:

例如:在IP地址192.168.43.117上搭建FTP服务器,并设置用户名为user,密码为123456
现在我们要显示服务器上根目录下的所有文件信息,命令如下:

curl -u user:123456 ftp://192.168.43.117

执行结果如下:
在这里插入图片描述
简洁写法:

curl ftp://user:[email protected]

执行结果如下:
在这里插入图片描述

2)、只列出目录,不显示进度条

格式:

curl ftp://www.xxx.com –u name:passwd -s

3)、下载一个文件:

格式:

curl ftp://www.xxx.com/size.zip –u name:passwd -o size.zip

示例如下:
从服务器的根目录下下载文件test.c,保存到本地,本地文件名也为test.c。
【注意】如果没有-o选项,程序会吧数据流定向到stdout,即直接把文件内容显示到终端上。

curl ftp://user:[email protected]/test.c -o test.c

执行结果如下:
在这里插入图片描述
简洁模式

curl -u user:123456 ftp://192.168.43.117/list.h -o list.h

执行结果如下:
在这里插入图片描述

4)、上载一个文件:

格式:

curl –u name:passwd -T size.mp3 ftp://www.xxx.com/mp3/

举例如下:

curl -u user:123456 ftp://192.168.43.117/ -T list.h

在这里插入图片描述
可以看到文件并没有上传成功,返回错误码是25,该错误码的含义是:

25	FTP couldn't STOR file. The server denied the STOR operation, used for FTP uploading.

可知,是因为服务器没有赋予存储的权限,所以设置服务器的write权限即可。

在这里插入图片描述

5)、从服务器上删除文件(使用curl传递ftp协议的DELE命令):

格式:

curl –u name:passwd ftp://www.xxx.com/ -X 'DELE mp3/size.mp3'

6)、另外curl不支持递归下载,不过可以用数组方式下载文件,比如我们要下载1-10.gif连续命名的文件:

格式:

curl –u name:passwd ftp://www.xxx.com/img/[1-10].gif –O #O字母大写

7)、要连续下载多个文件:

格式:

curl –u name:passwd ftp://www.xxx.com/img/[one,two,three].jpg –O #O字母大写

猜你喜欢

转载自blog.csdn.net/daocaokafei/article/details/108252911