macOS 无独立下载记录文件,所谓“记录”实为浏览器缓存或下载文件本身;脚本可安全清理 Downloads 中过期文件、浏览器 plist/Cache 数据,但不可盲目递归删除。macOS 系统本身不会单独保存“下载记录文件”——它不维护类似 Windows 的 `Download History` 数据库或注册表条目。所谓“下载记录”,实际是指你在浏览器(Safari、Chrome 等)中点击过的下载项,其信息仅存在于各应用自身的数据库或缓存中,**不会生成独立的、可被脚本直接批量删除的“记录文件”**。 真正能被脚本自动清理的,是 **下载行为产生的实际文件**(如 `.dmg`, `.zip`, `.pdf`, `.pkg`),以及部分浏览器在 `~/Library/` 下留下的元数据缓存(如下载列表快照、临时分片、会话痕迹)。这些才是脚本可操作的对象。 下面分三类说明如何用脚本安全、精准地处理:
✅ 清理真实下载文件(最常用)
这是绝大多数用户想做的:清空 downloads 文件夹里过期/无用的文件,但保留 `.ds_store`、隐藏配置等。
- 终端一行命令(7天前的普通文件):
find ~/Downloads -type f -mtime +7 -delete - 更稳妥的版本(跳过 .app/.pkg/.dmg 等安装包,只清文档类):
find ~/Downloads -type f ! -name "*.app" ! -name "*.pkg" ! -name "*.dmg" -mtime +30 -delete - 若需预览不执行,加
-print替代-delete,例如:find ~/Downloads -type f -mtime +7 -print
✅ 清理浏览器残留的“下载痕迹”
Safari 和 Chrome 不会暴露下载历史为明文文件,但它们会在以下路径留下可清理的缓存数据:
-
Safari:下载列表由 `~/Library/Safari/Downloads.plist` 记录(二进制 plist),可用
defaults delete com.apple.Safari Downloads重置(重启 Safari 后生效) -
Chrome:下载历史存在 SQLite 数据库中:
~/Library/Application Support/Google/Chrome/Default/History,但直接删它会破坏整个浏览历史;建议用 Chrome 内置的「清除浏览数据」功能,或仅清空 Downloads 表(需 sqlite3 命令,不推荐普通用户手动操作) -
通用缓存:所有浏览器的临时下载缓冲都落在
~/Library/Caches/子目录下,可安全清理,例如:rm -rf ~/Library/Caches/com.apple.Safari/*
✅ 避免误操作的关键提醒
- 不要运行
rm -rf ~/Downloads或rm -rf /var/log这类无条件递归删除,极易误伤 - 系统不提供“下载记录日志文件”统一路径,网上所谓
~/Library/Logs/Downloads.log并不存在 - 如果用了 Downie、Folx 等第三方下载工具,它们各自管理下载历史(通常在
~/Library/Application Support/下),需查对应文档,不可一概而论











