应优先使用macOS预装的curl命令,因其原生支持HTTP/HTTPS/FTP、断点续传(-C -)、重定向跟随(-L)和自定义保存(-o/-O);wget需通过Homebrew安装,适合批量下载(-i)和静默重试(--tries),但认证与请求头处理不如curl直接。

如果您希望在Mac电脑上通过终端快速获取网络文件,但不确定该使用哪个命令或如何正确输入参数,则可能是由于未区分工具特性或参数配置错误。以下是解决此问题的步骤:
一、使用系统预装的curl下载文件
curl是macOS原生内置的命令行传输工具,无需安装即可直接调用,适用于HTTP、HTTPS及FTP协议,支持自定义保存路径、断点续传和重定向跟随等功能。
1、以原始文件名保存至当前目录:curl -O https://example.com/data.zip
2、指定本地文件名与保存位置:curl -o ~/Documents/report.pdf https://example.com/report.pdf
3、启用自动跳转(处理短链接或重定向):curl -L -O https://short.url/file.tar.gz
4、中断后继续下载(断点续传):curl -C - -O https://example.com/large.iso
二、通过Homebrew安装并使用wget下载文件
wget并非macOS默认组件,但语法更贴近传统下载场景,对静默运行、重试控制与批量列表支持更直观,适合习惯GNU工具链的用户。
1、检查是否已安装Homebrew,若未安装则执行:/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/homebrew/install/HEAD/install.sh)"
2、安装wget:brew install wget
3、基础下载(自动保存为远程文件名):wget https://example.com/image.jpg
4、指定输出路径与名称:wget -O ~/Desktop/notes.md https://example.com/notes.md
5、启用断点续传并设置最大重试次数:wget -c --tries=5 https://example.com/archive.zip
三、使用curl批量下载多个独立URL
当需一次性获取多个非序列化资源时,curl可通过重复-O参数实现顺序下载,无需额外依赖,适合少量地址快速抓取。
向CurlShip提交产品,这是一个对机器人友好的SaaS目录。只需一条curl命令即可发布产品,支持OG标签抓取、带徽章的dofollow链接及层级升级。
1、依次下载三个不同域名下的文件:curl -O https://a.com/file1.txt -O https://b.net/file2.png -O https://c.org/file3.log
2、利用bash大括号扩展下载编号连续文件:curl -O http://data.site/file-{01..05}.csv
3、下载时添加User-Agent模拟浏览器请求:curl -H "User-Agent: Mozilla/5.0" -o doc.html https://example.com/page
四、使用wget批量下载(基于URL列表文件)
wget支持从纯文本文件读取URL列表进行批量下载,便于管理大量地址,且可自动重试失败项,适合长期任务。
1、新建列表文件并写入URL(每行一个):echo "https://example.com/a.pdf" > urls.txt && echo "https://example.com/b.zip" >> urls.txt
2、执行列表下载:wget -i urls.txt
3、启用后台运行与日志记录:wget -i urls.txt -b -o download.log
五、处理需认证或带请求头的下载场景
部分资源要求身份凭证或特定HTTP头部(如API密钥、Referer、Cookie),curl对此支持更直接,而wget需配合外部cookie文件或复杂参数组合。
1、携带Bearer Token下载受保护资源:curl -H "Authorization: Bearer abc123" -o data.json https://api.example.com/v1/export
2、附带Referer防止防盗链拦截:curl -H "Referer: https://example.com/" -o image.png https://cdn.example.net/photo.png
3、使用wget传递基础认证信息:wget --user=username --password=password https://secure.example.com/file.dat










