我使用运行 High Sierra 的 Mac。我正在清理我的硬盘,并寻找我从 Mac 中删除的程序的残余部分。我使用这样的定位命令:locate Canopy
。我曾经安装过 Enthought Canopy 软件包。当我运行该命令时,我得到了大约 16 个 Canopy 实例。这是第一个:/Applications/Enthought Canopy (64-bit)
。其他 15 行只是这一行的延伸。我在“应用程序”文件夹中搜索了“Enthought Canopy(64 位)”文件,但它不存在。如果我使用命令行尝试cd "/Applications/Enthought Canopy (64-bit)"
它会说“没有这样的文件或目录。有谁知道为什么locate
给我错误的信息?
答案1
也就是说locate(1)
,运行man 1 locate
可以读到
DESCRIPTION
The locate program searches a database for all pathnames which match the
specified pattern. The database is recomputed periodically (usually
weekly or daily),
这可以很好地解释过时的结果。除此之外还有一点:
/System/Library/LaunchDaemons/com.apple.locate.plist Job that starts the
database rebuild
这表明每周重建一次。 (这是在 Mac OS X 10.11 版本上的,所以苹果可能从那时起就做了一些改动。)
在 macOS 上更典型的可能是使用mdfind
与 Spotlight 数据库相关的类似工具;该数据库可能比定位数据库更频繁地更新。 (但我已经禁用了 Spotlight 工具,因为它们对我旧的 Spinny Metal 2009 硬盘上的 I/O 造成了疯狂......)