51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

curl命令 – 文件传输工具

curl命令来自英文词组CommandLine URL的缩写,其功能是在Shell终端界面中基于URL规则进行文件传输工作。curl是一款综合性的传输工具,可以上传也可以下载,支持HTTP、HTTPS、FTP等30余种常见协‍议。

**语法格式:**curl 参数 网址URL 文件名

常用参数:

|---------|------------------|---|-------------------|-----------------| | -a | 追加写入到指定文件 | | --cacert | 设置CA证书文件 | | -A | 设置用户代理标头信息 | | -G | 以GET方式传送数据 | | -b | 设置用户Cookie信息 | | --capath | 设置CA证书目录 | | -B | 使用ASCII文本传输 | | --cert-type | 设置客户端证书文件和密码 | | -C | 支持断点续传 | | --ciphers | 设置SSL证书密码 | | -d | 以HTTP POST方式传送数据 | | --connect-timeout | 设置最大请求时间 | | -D | 把头部信息写入指定文件 | | --create-dirs | 创建本地目录的层次结构 | | -e | 设置来源网址URL | | --digest | 使用数字身份验证 | | -f | 连接失败时不显示报错 | | --ftp-create-dirs | 自动创建远程目录 | | -o | 设置新的本地文件名 | | --ftp-pasv | 使用PASV/EPSV代替端口 | | -a | 追加写入到指定文件 | | --ftp-ssl | 使用SSL/TLS进行数据传输 | | -O | 保留远程文件的原始名 | | --ftp-ssl-reqd | 使用SSL/TLS进行数据传输 | | -G | 以GET方式传送数据 | | --help | 显示帮助信息 | | -H | 自定义头信息 | | --key | 设置私钥文件名 | | -I | 显示网站的响应头信息 | | --key-type | 设置私钥文件类型 | | -K | 读取指定配置文件 | | --limit-rate | 设置传输速度 | | -N | 禁用缓冲输出 | | --max-filesize | 设置最大下载的文件总量 | | -s | 静默执行模式 | | --max-redirs | 设置最大重定向次数 | | -T | 上传指定文件 | | --pass | 设置密钥密码 | | -u | 设置服务器的用户名和密码 | | --progress-bar | 显示进度条 | | -U | 设置代理的用户名和密码 | | --verbose | 显示执行过程详细信息 | | --basic | 使用HTTP基本验证 | | --version | 显示版本信息 |

参考示例

获取指定网站的网页源码:

[root@linuxcool ~]# curl https://www.linuxcool.com 
% Total   % Received % Xferd Average Speed Time  Time      Time   Current 
                             Dload  Upload Total Spent     Left   Speed 
0     0   0      0   0     0   0        0 --:--:-- --:--:-- --:--:-- 0 
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta http-equiv="X-UA-Compatible"content="IE=Edge">
<meta charset="UTF-8">
………………省略部分输出信息……………… 

下载指定网站中的文件:

[root@linuxcool ~]# curl -O https://www.linuxprobe.com/docs/LinuxProbe.pdf 
  % Total   % Received % Xferd Average Speed Time     Time      Time   Current 
                               Dload  Upload Total    Spent     Left   Speed 
100 16.8M 100 16.8M    0     0 22.5M       0 --:--:-- --:--:-- --:--:-- 22.5M 

打印指定网站的HTTP响应头信息:

[root@linuxcool ~]# curl -I https://www.linuxcool.com 
  % Total   % Received % Xferd Average Speed  Time     Time   Time   Current 
                               Dload  Upload  Total    Spent  Left   Speed 
  0     0   0      0   0     0     0     0 --:--:-- --:--:-- --:--:-- 0 
HTTP/2 200 
server: Tengine 
content-type: text/html; charset=UTF-8 
vary: Accept-Encoding 
date: Wed, 04 May 2023 06:44:26 GMT 
vary: Accept-Encoding 
x-powered-by: PHP/7.4.11 
vary: Accept-Encoding, Cookie 
cache-control: max-age=3, must-revalidate 
ali-swift-global-savetime: 1651646666 
via: cache3.l2cn1802[235,234,200-0,M], cache17.l2cn1802[236,0], kunlun10.cn257 [403,414,200-0,M], kunlun
2.cn257[417,0] 
x-cache: MISS TCP_REFRESH_MISS dirn:0:416601537 
x-swift-savetime: Wed, 04 May 2023 06:44:26 GMT 
x-swift-cachetime: 3 timing-allow-origin: * 
eagleid: ab08f29616516466664417014e 

下载指定文件服务器中的文件(用户名:密码):

[root@linuxcool ~]# curl -u linuxprobe:redhat ftp://www.linuxcool.com/LinuxProbe.pdf
赞(3)
未经允许不得转载:工具盒子 » curl命令 – 文件传输工具