前言

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:passwdcurl ftp://www.xxx.com/ –u name:passwd #简洁写法curl ftp://name:passwd@www.xxx.com #简洁写法2

举例:

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

curl -u user:123456 ftp://192.168.43.117

执行结果如下:

简洁写法:

curl ftp://user:123456@192.168.43.117

执行结果如下:

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:123456@192.168.43.117/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,该错误码的含义是:

25FTP 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字母大写
©著作权归作者所有:来自51CTO博客作者wx607823dfcf6a9的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. Linux crontab命令详解
  2. 使用Linux命令cURL实现文件定时上传到ftp服务器的程序
  3. linux设备驱动程序之简单字符设备驱动
  4. Linux文件系统详解
  5. linux网络编程一:epoll
  6. 全面介绍 Linux 权限
  7. Python:字符串输出三种格式
  8. 【DB笔试面试265】在Oracle中,Oracle的SYS用户登录报权限不足的常
  9. SpringBoot如何加载jar包外面的配置文件?

随机推荐

  1. Android版本演进史
  2. Android快速开发框架-------afinal
  3. Android(安卓)App 获取root权限后,执行she
  4. 安卓开发日记--2017.10.10
  5. 引用Android(安卓)Design包出现的错误
  6. Android开源库集锦 + Android场景桌面(一
  7. 关于android的中文文档
  8. android SDK包引用了java SDK哪些包
  9. Android 开发人员必须掌握的 10 个开发工
  10. Android 当中的 MVP 模式(二)封装