curl · 网络请求工具

上游:ping(确认网络通)· wget(wget 专注下载,curl 更通用) 下游:tar(curl 下载压缩包后用 tar 解压)· apt(curl 常用来下载软件安装脚本)


一句话是什么

curl 向任意网址发送请求,并显示响应—— wget 只会下载文件,curl 还能发送数据、测试 API、查看网页内容。


为什么需要它

有些软件的官方安装方式是用 curl 下载安装脚本:

curl -fsSL https://example.com/install.sh | bash

或者查看 Minecraft 服务器的最新版本信息:

curl https://minecraft.net/...   # 查看页面内容

核心用法

公式

curl [选项] URL

常用命令

命令说明
curl URL显示网页内容(不保存)
curl -o 文件名 URL下载并保存为指定文件名
curl -O URL下载,用 URL 中的文件名
curl -L URL跟随重定向(URL 跳转时需要)
curl -I URL只看响应头(不下载内容)
curl -s URL安静模式,不显示进度
curl -fsSL URL常见组合:安静+跟随重定向+失败报错

curl vs wget

wget:专注下载文件,断点续传,适合大文件
curl:通用网络工具,发 GET/POST 请求,查看 API 响应

下载文件:两个都能用
安装脚本:curl 更常见(curl ... | bash)
调试 API:curl 是首选

Linux 笑话

Aaron 看到网上的 Minecraft 插件安装教程写:

curl -fsSL https://example.com/mc-plugin-install.sh | bash

他问爸爸:“这个 | bash 是什么意思?”

爸爸说:“把下载的脚本直接传给 bash 执行。”

Aaron:“那如果网站是坏人的,这不是直接让坏人控制我们电脑吗?”

爸爸:“对。所以不认识的脚本,先 curl URL 看内容,确认没有问题再决定要不要 | bash。”

规律:curl URL | bash 是高风险操作,先看脚本内容再执行。


例题精讲

📗 初探 Starter — 查看网页内容

# 查看一个网页(文本内容)
curl https://example.com
 
# 只看响应头(状态码)
curl -I https://example.com
# HTTP/2 200 ← 200 表示正常
# HTTP/2 404 ← 404 表示页面不存在

📘 应用 User — 下载 Minecraft 服务器

# 下载 Bedrock Server(用 curl 代替 wget)
curl -O https://www.minecraft.net/.../bedrock-server-xxx.zip
 
# 或者保存为指定名字
curl -L -o bedrock-server.zip https://www.minecraft.net/.../bedrock-server.zip
 
# 下载后解压
unzip bedrock-server.zip -d ~/mc-server/

📙 管理 Admin — 检查 API 和脚本安装

# 安装前先看脚本内容
curl -fsSL https://example.com/install.sh
# (仔细阅读,确认没有可疑操作)
 
# 确认没问题再执行
curl -fsSL https://example.com/install.sh | bash
 
# 测试 HTTP 状态码(检查网站是否正常)
curl -o /dev/null -s -w "%{http_code}\n" https://example.com
# 200 ← 正常

官方文档参考

man curl      # 完整手册(非常详细)
curl --help   # 快速选项

curl URL 发请求显示内容;-O 保存文件;-L 跟重定向;-fsSL 是安装脚本常用组合;| bash 前先看脚本内容。


节点链接

上游

  • ping ← 先确认网络通
  • wget ← wget 专注下载,curl 更通用

下游

  • tar ← curl 下载压缩包,tar 解压
  • apt ← curl 下载安装脚本,apt 安装软件包

实战


节点版本:v1.0 · 2026-04-20 Tier 2 网络节点——更强大的网络瑞士军刀