Linux中的curl命令

简介

curl是一个非常强大的工具,它用来与服务器之间传输数据,其支持的协议包括 (DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, TELNET and TFTP),curl设计为无用户图形界面交互下完成工作。
curl提供了一大堆非常有用的功能,包括代理访问、用户认证、ftp上传下载、HTTP POST、SSL连接、cookie支持、断点续传。
curl可用于多种平台,不仅仅是Linux平台,其官方网址为https://curl.se

安装

以Ubuntu20.04为例,可以采取源码包安装方式,下载对应平台源码压缩包,解压后放在合适位置,然后添加环境变量;为简单起见,可通过apt命令安装二进制包:

sudo apt install curl

curl用法详解

命令格式

curl [options] [URLs]

参数介绍

curl命令参数非常多,此处只介绍常用的几项即可:

-A/--user-agent <string>              #设置用户代理发送给服务器
-b/--cookie <name=string/file>        #cookie字符串或文件读取位置
-c/--cookie-jar <file>                #操作结束后把cookie写入到这个文件中
-C/--continue-at <offset>             #断点续转
-D/--dump-header <file>               #把header信息写入到该文件中
-e/--referer                          #来源网址
-f/--fail                             #连接失败时不显示http错误
-o/--output                           #把输出写到该文件中
-O/--remote-name                      #把输出写到该文件中,保留远程文件的文件名
-r/--range <range>                    #检索来自HTTP/1.1或FTP服务器字节范围
-s/--silent                           #静音模式。不输出任何东西
-T/--upload-file <file>               #上传文件
-u/--user <user[:password]>           #设置服务器的用户和密码
-w/--write-out [format]               #什么输出完成后
-x/--proxy <host[:port]>              #在给定的端口上使用HTTP代理
-#/--progress-bar                     #进度条显示当前的传送状态

其他参数可以参考How to Use文档。

用法举例

1、显示网页

curl https://curl.se

执行该命令,https://curl.se 页面以html格式显示在屏幕上,由于安装linux的时候很多时候是没有安装桌面的,也意味着没有浏览器,因此这个方法也经常用于测试一台服务器是否可以到达一个网站。
2、下载文件

curl https://curl.se >> curl.html  #使用linux的重定向功能保存
curl -o curl.html https://curl.se  #使用curl的内置option:-o(小写)保存文件
curl -O https://curl.se  #使用curl的内置option:-O(大写)保存文件,这里的url要具体到某个文件,不然下载不下来
上一篇:狂神Java SE (七)面向对象


下一篇:linux基础之初识linux及常用命令