显示在 Mac OS X 中下载过的所有文件的下载历史列表

目录:

Anonim

您是否曾经想显示Mac 的整个下载历史记录列表?也许你知道你下载了一个文件,但你不能完全确定你从哪里得到它并且“获取信息”技巧不起作用。或者,也许您正在尝试追踪放置在导致问题的系统上的文件。无论是用于故障排除、个人兴趣还是取证,以下命令都会向您显示您下载到 Mac 的所有内容,无论它们来自哪个应用程序:

如何查看下载到Mac的所有文件列表

这通过查询OS X的文件隔离数据库来工作,该数据库旨在保护Mac免受恶意下载。为此,您将使用终端应用程序和 sqlite。

  • 从/Applications/Utilities/启动终端并在一行中输入以下命令:
  • sqlite3 ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV '从 LSQuarantineEvent 中选择 LSQuarantineDataURLString'

  • 回车查看下载文件列表

根据 Mac 的年龄和下载的内容,查询数据库和转储结果可能需要一段时间。您可能希望通过“排序”将结果通过管道传输,将下载的列表分组到类似的项目或来源中,看起来像这样:

sqlite3 ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV '从 LSQuarantineEvent 中选择 LSQuarantineDataURLString' |种类

为了便于查看,您还可以将输出重定向到文本文件中,此命令会将列表转储到活动用户桌面上名为“QuarantineEventList.txt”的文件中:

sqlite3 ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV '从 LSQuarantineEvent 中选择 LSQuarantineDataURLString' > ~/Desktop/QuarantineEventList.txt

输出列出了已通过隔离管理器的所有内容,对于最近几个版本的 Mac OS X 来说,它实际上是下载到 Mac 的所有项目,无论它来自哪个应用程序。通常,Mac 越旧,下载的文件越多,列表越大,运行查询所需的时间就越长。

如果您关闭了文件和应用程序的文件隔离,这个列表甚至可以工作,感谢 inket 验证。

删除下载历史列表

对于那些不想拥有包罗万象的下载文件历史列表的人,您可以运行以下命令来删除隔离数据库的内容:

sqlite3 ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV '从 LSQuarantineEvent 中删除'

您可以单独运行它,或将其放入.bash_profile 或.profile 以在启动新终端窗口时自动清除数据库。

这已经过测试并继续在许多版本的 Mac OS X 中工作,从早期版本到 OS X El Capitan (10.11.x+)、OS X Yosemite、OS X Mavericks 10.9.5 和大概是更新的。如果您成功使用此命令以及使用它的 OS X 版本,请在评论中告诉我们。

感谢Scott 的重要提示,感谢Wiggums 的删除语法。

显示在 Mac OS X 中下载过的所有文件的下载历史列表