如何locate.updatedb
在 macOS / BSD 上添加要索引的目录,以便我可以使用命令查找该目录中的文件locate
?
我阅读了 Mac 上的手册页locate(1)
,但没有找到任何有用的东西。
答案1
手册locate(1)
页告诉您如何使用该locate
命令来查找内容。由于索引是由 完成的locate.updatedb
,因此您应该阅读locate.updatedb(8)
手册页。
但至少在 macOS Big Sur 上,与您的问题相关的信息相当有限。基本上它只是说:
新建数据库的内容可以通过文件来控制
/etc/locate.rc
。
默认情况下,中的所有设置/etc/locate.rc
似乎都被注释掉了。您的问题的相关行是:
# directories to be put in the database
#SEARCHPATHS="/"
# directories unwanted in output
#PRUNEPATHS="/tmp /var/tmp"
# filesystems allowed. Beware: a non-listed filesystem will be pruned
# and if the SEARCHPATHS starts in such a filesystem locate will build
# an empty database.
#
# be careful if you add 'nfs'
#FILESYSTEMS="hfs ufs apfs"
假设该文件遵循将默认设置呈现为注释掉示例的约定,则似乎一切/tmp
默认情况下,位于 HFS、UFS 或 APFS 文件系统上的内容将被索引,除了和的内容/var/tmp
。
如果您要添加的目录位于这些文件系统类型之一,并且不在/tmp
或下/var/tmp
,则该目录应在下次locate.updatedb
运行时自动建立索引。
请注意,许多变体locate
将在显示结果时检查访问权限,并且仅显示您有权查看的文件。