curl下载超大文件需三步:先确认url直链(含.pdf/.iso等扩展名),再执行curl -c - -l -o url实现断点续传与跳转跟随,中断后重跑命令即可自动续传;若用wget则需brew安装后运行wget -c --tries=10 url。

在Mac终端中下载超大文件(如ISO镜像、数据库备份包、视频素材等)时,必须确保下载过程可中断恢复、不因网络抖动失败重来、且能准确识别真实文件地址——否则可能下到几KB的HTML跳转页或卡死在99%无法继续。
用curl下载超大文件并支持断点续传
第一步:确认目标URL直接指向原始文件(不是登录页、短链接跳转页或前端路由页)。【若URL末尾不含.pdf/.zip/.dmg/.tar.gz等明确扩展名,极大概率不是直链】
第二步:执行带断点续传的下载命令:curl -C - -L -O https://example.com/big-file.iso。其中 -C - 是续传核心,-L 确保能穿透302跳转,-O 保留原文件名。
第三步:如中途被Ctrl+C中断,再次运行相同命令即可自动从断点继续——curl会读取本地同名文件长度,向服务器请求Range字节范围,无需手动计算偏移量。
注意:如果第一次用了 -o ~/Downloads/my-disk.img 指定路径,续传时必须严格保持 -o 参数不变,否则curl找不到已有文件校验长度,会重新下载。
用wget替代方案(需先安装)
方法一:通过Homebrew安装wget(推荐,适配M1/M2/M3芯片)
执行 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/homebrew/install/HEAD/install.sh)" → 安装完成后运行 brew install wget。
向CurlShip提交产品,这是一个对机器人友好的SaaS目录。只需一条curl命令即可发布产品,支持OG标签抓取、带徽章的dofollow链接及层级升级。
方法二:直接下载并启用断点续传wget -c --tries=10 https://example.com/archive.tar.xz。-c 启用续传,--tries=10 在连接失败时自动重试10次,比curl更激进地应对不稳定网络。
这一步操作起来很简单,直接把命令粘贴进终端回车就行。但注意:wget默认不跟随HTTP跳转,遇到短链接必须加 -L 参数,否则会保存一个只有几行HTML的空文件。
规避常见失败场景
当curl返回“Empty reply from server”或下载文件大小固定为1.3KB,说明你正在下载的是网页而非文件——立即停止,打开该URL在Safari中访问,检查地址栏最终跳转到的真实地址,复制那个带明确扩展名的URL再试。
如果下载速度长期低于50KB/s且无波动,可能是服务器限速或本地DNS污染,可临时加 --resolve 强制指定IP:curl -C - -L -O --resolve example.com:443:93.184.216.34 https://example.com/file.bin。
用 ls -lh 查看当前目录文件大小,确认是否持续增长;用 tail -f /private/var/log/system.log | grep curl 可实时观察底层连接状态(需要管理员权限)。










