我没有收到有关数据库不存在或未填充的错误。我什么也没收到。我确实知道我所搜索的内容存在于我的盒子上。我甚至尝试过locate bin
或locate Users
。我什么也没收到!
我尝试更新数据库:sudo /usr/libexec/locate.updatedb
,但仍然没有任何结果。
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist
说它已经加载了。
有什么建议么?
答案1
有些东西的替代方案是mdfind
(mdfind
相关实用程序是 Spotlight 的命令行界面)。但它只能找到 Spotlight 本身会返回的东西。
但请继续关注locate
,检查以确保/var/db/locate.database
确实已填充。或者从头开始禁用 定位通过launchctl
,以 root 身份运行,locate.updatedb
然后重新加载 定位通过launchctl
。这应该会为您留下一个正常工作的数据库。
答案2
2011 年评论按需自动更新定位数据库 - Mac OS X 提示请记住,苹果默认停止使用数据库。updatedb.sh
适用于 Mac OS X 10.5.8 的开源:
警告
以 root 身份执行 updatedb。这将向所有登录用户透露您机器上的所有文件名,这是一种安全风险。
如果理解正确,从最近的答案来看,在 Mac OS X 上的“定位”中包含目录 (2015-01-03):
- 如果用户选择覆盖 Apple 的默认设置并填充数据库,则结果将正确排除用户主目录中的大部分内容。