Linux curl命令:文件传输工具(附带实例)
在 Linux 环境中,curl 命令来自英文词组 CommandLine URL 的缩写,其功能是在 Shell 终端界面中基于 URL 规则进行文件传输工作。
curl 是一款综合性的传输工具,可以上传也可以下载,支持 HTTP、HTTPS、FTP 等 30 余种常见协议。
curl 命令的语法格式如下:
【实例 1】获取指定网站的网页源码。
【实例 2】下载指定网站中的文件。
【实例 3】打印指定网站的HTTP响应头信息。
【实例 4】下载指定文件服务器中的文件(用户名:密码):
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