locate命令:
http://chenling1018.blog.163.com/blog/static/14802542010511157394/
find命令:
http://www.linuxidc.com/Linux/2010-10/29222.htm
四个关键字的区别:
http://www.blogjava.net/tinysun/archive/2010/09/30/333460.html?opt=admin
功能说明:查找文档。
语 法:locate [-d ][--help][--version][范本样式...]
补充说明:locate指令用于查找符合条件的文档,他会去保存文档和目录名称的数据库内,查找合乎范本样式条件的文档或目录。
参 数:
-d或--database= 配置locate指令使用的数据库。locate指令预设的数据库位于/var/lib/slocate目录里,文档名为slocate.db,您可使用 这个参数另行指定。
--help 在线帮助。
--version 显示版本信息。
使用说明:
直接 locate 文件名,eg: locate passwd
但与find 不同: find 是去硬盘找.
locate 只在/var/lib/slocate资料库中找
locate的速度比find快,它并不是真的查找,而是查数据库,一般文件数据库在/var/lib/slocate/slocate.db中,所以locate的查找并不是实时的,而是以数据库的更新为准,一般是系统自己维护,也可以手工升级数据库 locate -u;
更多使用,请参考man~~
数据库/var/lib/slocate/slocate.db记录了创建数据库时文件系统上的文件数据,也就是整个/下,只是这个数据库放在/var下,所理论上以是可以查找其他目录的内容,你locate passwd,就会显示/etc/passwd~
例子给了啊,比如你要找passwd文件,就在终端下输入: locate passwd
但是,这个东西还是有使用上的限制呦!为什麼呢?您会发现使用 locate 来寻找资料的时候特别的快, 这是因为 locate 寻找的资料是由『已建立的资料库 /var/lib/slocate/』 里面的资料所搜寻到的,所以不用直接在去硬碟当中存取资料,呵呵!当然是很快速罗! 那麼有什麼限制呢?就是因为他是经由资料库来搜寻的,而资料库的建立预设是在每天执行一次 (每个 distribution 都不同, FC4 是每天更新资料库一次!),所以当您新建立起来的档案, 却还在资料库更新之前搜寻该档案,那麼 locate 会告诉您『找不到!』呵呵!因为必须要更新资料库呀!