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

Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复