locate 命令

locate 通过搜寻系统内建文档数据库达到快速找到档案,数据库由 updatedb 程序来更新,updatedb 是由 cron daemon 周期性调用的。默认情况下locate 命令在搜寻数据库时比由整个由硬盘资料来搜寻资料来得快,但较差劲的是 locate 所找到的档案若是 近才建立或 刚更名的,可能会找不到,在内定值中,updatedb 每天会跑一次,可以由修改 crontab 来更新设定值(etc/crontab)。

locate 与 find 命令相似,可以使用如 *、? 等进行正则匹配查找常用参数:

1   -l num(要显示的行数)
2   -f 将特定的档案系统排除在外,如将proc排除在外
3   -r 使用正则运算式做为寻找条件

实例:

(1) 查找和 pwd 相关的所有文件(文件名中包含 pwd)
1 locate pwd
(2) 搜索 etc 目录下所有以 sh 开头的文件
1 locate /etc/sh
(3) 查找 /var 目录下,以 reason 结尾的文件
1 locate -r '^/var.*reason$'(其中.表示一个字符,*表示任务多个;.*表示任意多个字符)

发表评论

后才能评论