locate

命令功能

查找文档。find功能类似,但是有所不同

语  法:

locate [-d ] [范本样式...]

补充说明:

locate指令用于查找符合条件的文档,他会去保存文档和目录名称的数据库内,查找合乎范本样式条件的文档或目录。

参  数:

-d  :配置locate指令使用的数据库。locate指令预设的数据库位于/var/lib/slocate目录里,

文档名为slocate.db,您可使用这个参数另行指定。

使用说明:

直接 locate 文件名

eg locate passwd

但与find 不同:

find 是去硬盘找.

locate 只在/var/lib/slocate资料库中找

locate的速度比find快,它并不是真的查找,而是查数据库,一般文件数据库在/var/lib/slocate/slocate.db中,所以locate的查找并不是实时的,而是以数据库的更新为准,一般是系统自己维护,也可以手工升级数据库 locate -u

数据库/var/lib/slocate/slocate.db记录了创建数据库时文件系统上的文件数据,也就是整个/下,只是这个数据库放在/var下,所理论上以是可以查找其他目录的内容,你locate passwd,就会显示/etc/passwd~,比如你要找passwd文件,就在终端下输入: locate passwd 但是,这个东西还是有使用上的限制.您会发现使用 locate 来寻找资料的时候特别的快,这是因为 locate 寻找的资料是由『已建立的资料库 /var/lib/slocate/里面的资料所搜寻到的,所以不用直接在去硬碟当中存取资料,因为他是经由资料库来搜寻的,而资料库的建立预设是在每天执行一次 (每个 distribution 都不同, FC4 是每天更新资料库一次!),所以当您新建立起来的档案,却还在资料库更新之前搜寻该档案,那麼 locate 会告诉『找不到』!因为必须要更新资料库!