Blog

Mac OS X下创建locate数据库的命令

Mac OS X虽然底层是正统的BSD UNIX,但有一些命令还是跟我过去用Linux的经验相左的。我没有经历过那种在大型机和工作站上运行UNIX的时代,不知道到底是哪种方式更“正统”一些。不过现在那个时代已经一去不复返了,很多软件直接在Linux下开发运行,自然也变得更正统了一些了吧。

我过去用Linux的时候,经常要通过关键字找一个文件。比如说我想知道ls程序放在什么目录,就要用到locate。它通过自己维护一个数据库,而不是遍历整个目录结构,因此搜索的速度很快。但它的数据库需要运行程序来更新。我印象里记得Gentoo里默认的locate软件包用的更新程序好像是locate-update之类的(太久没用,忘记了)。但在Mac OS X里面就完全不是这么回事了。

经过查找,发现这个命令是让locate开始生成数据库的(我升级到Snow Leopard后,原先的数据库就没了,因此要重新生成):

sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist

但我不知道是不是更新数据库也是一样的命令,因此就把它先记下来,等以后知道了再更新。

3 comments

  1. 沙发
  2. jpuyy jpuyy

    看了一下这个文件原来是一个xml 里面有 /usr/libexec/locate.updatedb 但是不知道为什么有的文件搜不到,比如当前目录下面明明有一个word.doc,但locate word.doc搜不出来。你知道为什么吗?

    板凳
  3. georgewing georgewing

    locate.updatedb,路径: /usr/libexec/locate.updatedb

    参考:在MAC OS上使用UPDATEDB命令

    地板

Leave a Reply