macos下载文件首选curl(预装),支持-o保存原名、-o自定义路径、-c断点续传;wget需brew安装,语法简洁,-c续传、-i批量下载;二者均支持重定向(curl需-l)、认证(curl更全面)。

一、使用curl下载单个文件
curl是macOS系统默认预装的命令行工具,无需额外安装即可直接使用。它通过HTTP、HTTPS或FTP协议获取远程资源,并支持将响应内容保存为本地文件。关键在于正确指定输出方式,避免内容直接打印到终端。
1、在终端中输入命令:curl -O https://example.com/file.zip,该命令会将远程文件以原始名称保存至当前工作目录。
2、若需自定义保存路径和文件名,使用-o参数:curl -o ~/Downloads/myfile.zip https://example.com/file.zip。
3、如下载中断,可启用断点续传:curl -C - -O https://example.com/large-file.iso,curl将自动检测已下载部分并从中断处继续。
二、使用wget下载单个文件
wget并非macOS原生内置工具,需先通过Homebrew安装,但其语法更简洁、对下载场景针对性更强,尤其适合静默下载与重试控制。
1、若尚未安装wget,执行:brew install wget(需提前安装Homebrew)。
2、执行基础下载:wget https://example.com/document.pdf,文件将按远程名称保存于当前目录。
3、指定保存位置与名称:wget -O ~/Desktop/report.html https://example.com/report。
4、启用断点续传与自动重试:wget -c --tries=3 https://example.com/backup.tar.gz。
三、批量下载多个文件
当需同时获取多个独立URL资源时,curl与wget均支持多地址并发处理,但语法结构不同,适用于不同习惯的用户。
1、curl批量下载(顺序执行):curl -O https://site.com/a.txt -O https://site.com/b.jpg -O https://site.com/c.pdf。
2、wget批量下载(支持列表文件):先创建文本文件urls.txt,每行一个URL;再运行:wget -i urls.txt。
3、利用bash扩展生成序列化URL:curl -O http://files.example.org/data-{001..010}.log,可一次性下载data-001.log至data-010.log。
四、下载带重定向或需跟随跳转的资源
部分URL会返回301或302状态码并跳转至新地址,curl默认不跟随重定向,而wget默认跟随;若curl需等效行为,必须显式添加-L参数。
1、curl处理重定向:curl -L -O https://short.url/xyz,-L确保跟随全部跳转直至最终资源。
2、wget默认已支持,无需额外参数,但可显式确认:wget --max-redirect=5 https://short.url/xyz,限制最多跳转5次。
3、验证是否成功获取目标内容:下载完成后执行:file downloaded-file,检查文件类型是否符合预期。
五、下载需身份认证的受保护资源
当目标文件位于需要Basic Auth或Bearer Token验证的路径下时,curl提供细粒度认证支持,wget仅支持Basic Auth。
1、curl使用用户名密码进行Basic认证:curl -u "user:pass" -O https://private.example.com/secret.zip。
2、curl携带Bearer Token访问API托管文件:curl -H "Authorization: Bearer abc123xyz" -O https://api.example.com/v1/assets/export.csv。
3、wget仅支持Basic Auth:wget --user=user --password=pass https://private.example.com/secret.zip。











