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。
评论留言