locate让使用者可以很快速的搜救档案系统内是否有指定的档案。其方式是先构建一个包括系统内所有档案名称及路径的数据库,然后当找寻时就只需查询这个数据库,而毋须实际深入档案系统之中了。在通常的distribution之中,数据库的构建都被置于crontab中手动执行。
1.命令格式:
Locate[选择参数][式样]
2.命令功能:
locate命令可以在搜救数据库时快速找到档案,数据库由updatedb程序来更新linux 指令速查手册,updatedb是由crondaemon周期性构建的linux之家,locate命令在搜救数据库时比由整个由硬碟资料来搜救资料来得快,但较差劲的是locate所找到的档案若是近来才完善或刚改名的linux windows,可能会找不到,在内定值中,updatedb每晚会跑一次,可以由更改crontab来更新设定值。(etc/crontab)
locate指定用在搜救符合条件的档案,它会去储藏档案与目录名称的数据库内,找寻合乎范本式样条件的档案或目录录,可以使用特殊字元(如”*”或”?”等)来指定范本式样,如指定范本为kcpa*ner,locate会找出所有起始字串为kcpa且结尾为ner的档案或目录,如名称为kcpartner若目录录名称为kcpa_ner则会列举该目录下包括子目录在内的所有档案。
locate指令和find寻找档案的功能类似,但locate是透过update程序将硬碟中的所有档案和目录资料先构建一个索引数据库linux 指令速查手册,在执行loacte时直接找该索引,查询速率会较快,索引数据库通常是由操作系统管理,但也可以直接下达update逼迫系统立刻更改索引数据库。
3.命令参数:
-e将排除在找寻的范围之外。
-1若果是1.则启动安全模式。在安全模式下,使用者不会见到权限难以见到的档案。这会始速率减缓,由于locate必须至实际的档案系统中取得档案的权限资料。
-f将特定的档案系统排除在外,比如我们没有到理要把proc档案系统中的档案放到资料库中。
-q安静模式,不会显示任何错误讯息。
-n至多显示n个输出。
-r使用正规运算式做寻觅的条件。
-o指定资料库存的名称。
-d指定资料库的路径
-h显示辅助讯息
-V显示程式的版本讯息
4.使用实例:
实例1:查找和pwd相关的所有文件
命令:
locatepwd
输出:
peida-VirtualBox~#locatepwd
/bin/pwd
/etc/.pwd.lock
/sbin/unix_chkpwd
/usr/bin/pwdx
/usr/include/pwd.h
/usr/lib/python2.7/dist-packages/twisted/python/fakepwd.py
/usr/lib/python2.7/dist-packages/twisted/python/fakepwd.pyc
/usr/lib/python2.7/dist-packages/twisted/python/test/test_fakepwd.py
/usr/lib/python2.7/dist-packages/twisted/python/test/test_fakepwd.pyc
/usr/lib/syslinux/pwd.c32
/usr/share/help/C/empathy/irc-join-pwd.page
/usr/share/help/ca/empathy/irc-join-pwd.page
/usr/share/help/cs/empathy/irc-join-pwd.page
/usr/share/help/de/empathy/irc-join-pwd.page
/usr/share/help/el/empathy/irc-join-pwd.page
实例2:搜索etc目录下所有以sh开头的文件
命令:
locate/etc/sh
输出:
peida-VirtualBox~#locate/etc/sh
/etc/shadow
/etc/shadow-
/etc/shells
peida-VirtualBox~#
实例3:搜索etc目录下,所有以m开头的文件
命令:
locate/etc/m
输出:
peida-VirtualBox~#locate/etc/m
/etc/magic
/etc/magic.mime
/etc/mailcap
/etc/mailcap.order
/etc/manpath.config
/etc/mate-settings-daemon