Linux运维基础之curl命令详解

Linux运维基础之curl命令详解

Linux 中的 curl 命令是一个功能强大的工具,它可以利用HTTP、HTTPS、FTP和SFTP等多种协议,从网络服务器传输数据或将数据传输到网络服务器。

简单地说,它是一种能帮助你直接从命令行通过互联网传输数据的工具。例如,你可以使用 curl 从 URL 下载文件,或将文件上传到服务器。

这个命令行工具不仅可以传输文件。你还可以使用 curl 从终端发出 HTTP 请求,如 GET 和 POST。这在测试或与网络服务和 API 交互时非常有用。有了 curl,你甚至可以在不打开浏览器的情况下检查网页内容,因为它可以获取并显示原始数据。

以下是使用 curl 命令的几种不同方法:

基本用法

使用 curl 最简单的方法是键入 curl,然后输入要访问页面的URL。

curl http://example.com

当你在终端运行 curl http://example.com 命令时,它会向位于 http://example.com 的服务器发送一个 GET 请求。在终端上看到的输出是服务器对 GET 请求的响应,通常是网页的 HTML 内容。

1. 将输出保存到文件

默认情况下,curl 会输出请求页面的源代码。如果想将输出保存到文件,可以使用 -o-O 选项。

curl -o output.html http://example.com

-o 选项允许你指定文件名,而 -O 将使用URL中的文件名。

2. 跟随重定向

如果你请求的 URL 重定向到了另一个页面,除非使用 -L 选 项,否则 curl 不会跟随重定向。

curl -L http://example.com

3. 发送 POST 请求

你可以使用 curl 发送 POST 请求。这通常用于提交表单。

curl -d "param1=value1¶m2=value2" -X POST http://example.com/form

-d 选项告诉 curl 你要发送POST数据, -X 选项指定了要使用的请求方法。

4. 发送带参数的 GET 请求

通过在 URL 中添加参数,可以发送带参数的 GET 请求。

curl http://example.com/search?query=example

5. 发送标头

标头您可以使用 -H 选项在请求中添加标头。

curl -H "Accept: application/json" http://example.com/api

6. 使用 Cookie

你可以用 -b 选项告诉 curl 发送 cookie,用 -c 选项告诉 curl 存储cookie。

curl -b "name=value" -c cookies.txt http://example.com

7. 上传文件

使用 -F 选项,你可以用 curl 向服务器上传文件。这会发送一个 POST 请求,并将 Content-Type 设置为 multipart/form-data

curl -F "file=@path/to/local/file" http://example.com/upload

8. 下载文件

你可以使用 curl 通过 FTP、SFTP、HTTP 和许多其他协议下载文件。

curl -O ftp://example.com/pub/file.zip

9. 身份验证

如果需要进行身份验证,可以使用 -u 选项,然后输入用户名和密码,并用 :(冒号)分隔。

curl -u username:password http://example.com

更多 Linux 命令

下面罗列了最常见的一些 Linux 命令,您可以根据自己的需要查阅对应命令的详细解析:

目录操作 rmdir · cd · pwd · exa · ls
文件操作 cat · cp · dd · less · touch · ln · rename · more · head
文件系统操作 chown · mkfs · locate
网络 ping · curl · wget · iptables · mtr
搜索和文本处理 find · grep · sed · whatis · ripgrep · fd · tldr
系统信息和管理 env · history · top · who · htop · glances · lsof
用户和会话管理 screen · su · sudo · open

此外,我们还整理 Linux 命令行大全,以帮助大家全面深入地学习 Linux。

评论留言