首页 > 编程笔记 > Linux笔记 阅读:36

Linux curl命令:文件传输工具(附带实例)

在 Linux 环境中,curl 命令来自英文词组 CommandLine URL 的缩写,其功能是在 Shell 终端界面中基于 URL 规则进行文件传输工作。

curl 是一款综合性的传输工具,可以上传也可以下载,支持 HTTP、HTTPS、FTP 等 30 余种常见协‍议。

curl 命令的语法格式如下:
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 显示版本信息

【实例 1】获取指定网站的网页源码。
[root@clinux ~]# curl https://c.biancheng.net
% 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">
………………省略部分输出信息………………

【实例 2】下载指定网站中的文件。
[root@clinux ~]# curl -O https://c.biancheng.net/c.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

【实例 3】打印指定网站的HTTP响应头信息。
[root@clinux ~]# curl -I https://c.biancheng.net
  % 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

【实例 4】下载指定文件服务器中的文件(用户名:密码):
[root@clinux ~]# curl -u linuxprobe:redhat ftp://c.biancheng.net/c.pdf

相关文章