lit*_*m84 8 unix macos terminal mamp locate
我最近将整个本地Web开发区域移到了使用MacPorts的东西上,而不是在我的Mac上使用MAMP.我已经进入Python/Django并且不再需要MAMP了.
事实上,我已经从Applications文件夹中卸载了MAMP,也有偏好文件,但是当我在终端中运行'locate MAMP'命令时它仍然显示我的所有/ Applications/MAMP /东西,好像它仍然存在?当我cd进入/ Applications/MAMP /它不存在?
与locate是一种索引搜索系统有关,因此这些旧的文件路径被缓存了吗?请解释原因,以及如何排序,以便它们不再显示.
你有正确的想法:locate使用一个名为' locatedb' 的数据库.它通常由系统cron作业更新(不确定OS X上的哪个); 您可以使用该updatedb命令强制更新.请参阅http://linux-sxs.org/utilities/updatedb.html等.
此外,如果您没有找到您期望的文件,请注意OSX的locate(1) man-page 的BUGS部分中的这一重要警告:
The locate database is typically built by user ''nobody'' and the
locate.updatedb(8) utility skips directories which are not readable
for user ''nobody'', group ''nobody'', or world. For example, if your
HOME directory is not world-readable, none of your files are in the database.
其他答案对于需要更新locate数据库是正确的.我有这个别名来更新我的定位数据库:
alias update_locate='sudo /usr/libexec/locate.updatedb'
Run Code Online (Sandbox Code Playgroud)
我找到mdfind后,实际上我不再使用定位了.它使用聚光灯文件索引,与locateb相比,OSX更好地保持最新状态.它在从命令行搜索的功能方面也有相当多的功能.