首页/系统/Linux 运维命令速查/curl 下载与断点续传
网络命令82 条

curl 下载与断点续传

-o 指定文件名、-O 用 URL 文件名、-C - 断点续传、--limit-rate 限速,发版拉包与日志下载常用。

Linux 运维命令速查系统更新于 2026-10-13

curl 下载是什么

curl 既能发任意请求,也能当下载器用:-o 指定保存名、-O 沿用 URL 里的文件名、-C - 从断点续传、--limit-rate 限速。相比 wget,curl 的下载能力偏基础,但胜在与调试选项同一套命令,脚本里取包、下载日志、拉取证书吊销列表都常用它。

基本信息

适用平台Linux/Unix/Windows 通用(curl 几乎无处不在)
命令语法curl [-o 文件|-O] [-C -] [--limit-rate 速率] URL
常用选项-o 指定输出名 -O 用 URL 文件名 -L 跟随重定向 -I 只看响应头 -f HTTP 错误返回非零 --retry 失败重试 --retry-delay 重试间隔
完整性curl 不校验内容,下载后要用 sha256sum 核对
静默约定-s 静默进度、-S 保留错误信息,脚本里通常写成 -sS

典型使用场景

  • 发布流程拉取安装包并校验哈希
  • 大文件断点续传:网络中断后用 -C - 接着下
  • 限速下载:避免占满生产带宽影响业务
  • 脚本探测:-I 只看响应头确认资源是否存在与大小
  • 自动化重试:加 --retry 应对临时网络抖动

常用示例

常用示例
curl -sS -O https://example.com/app.tar.gz                  # 沿用 URL 文件名
curl -sS -o app.tar.gz https://example.com/download/latest  # 指定保存名
curl -sS -C - -o big.iso https://example.com/big.iso        # 断点续传
curl -sS --limit-rate 500k -O https://example.com/data.bin  # 限速 500KB/s
curl -sS -L -o app.tar.gz https://example.com/go           # 跟随重定向后下载
curl -sSI https://example.com/app.tar.gz | head -n 8       # 只看响应头
curl -sSf --retry 3 --retry-delay 2 -O https://example.com/app.tar.gz   # 失败重试
curl -sS -O https://example.com/app.tar.gz && sha256sum app.tar.gz       # 下载后校验

下载相关选项读法

选项作用注意
-o 文件指定保存文件名最可控,脚本里优先用
-O用 URL 最后一段作为文件名URL 带查询串时会存成怪名字
-C -从上次中断的位置续传需要服务端支持 Range
--limit-rate限制传输速率单位可为 k 或 m
-I只取响应头不下载正文用于探测是否存在与文件大小
-L跟随 3xx 重定向配合 -O 时文件名仍来自原始 URL
-fHTTP 错误返回非零退出码脚本判成败的关键开关
服务端不支持 Range 时 -C - 会从头下载或报错:先 curl -I 看响应头里有没有 Accept-Ranges: bytes,或在正式下载前用小文件试一次续传。
大文件下载完成后务必校验:curl 默认不校验完整性,网络中断重试或代理缓存都可能留下损坏文件。用发布方提供的 sha256 摘要核对,比「能解压」更可靠——压缩包损坏有时只在深层文件才暴露。
镜像站与发布页给的链接常带查询串和重定向:先 curl -sSI 看到最终地址、状态码与内容长度,再用 -o 明确命名下载。注意 -o 指定的文件已存在时会直接覆盖,脚本里应先判断文件是否存在、是否需要保留旧版本。

易错点

  • -O 用 URL 最后一段作文件名,URL 带查询串(如 ?v=1)时会失败或存成奇怪名字,应改用 -o
  • 大文件下载完先校验 sha256 再使用,curl 默认不做任何完整性检查
  • 断点续传依赖服务端支持 Range,且续传期间远端文件若被替换会拼出损坏文件
  • 跟随重定向(-L)下载时,如果响应头声明了文件名,不加 -J 就仍用原始 URL 的名字
  • 不加 -f 时,HTTP 4xx 与 5xx 的响应体会被当成正常内容写进文件,脚本会误判成功

数据来源与参考

  • curl 官方文档(curl.se/docs/manpage.html)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌