当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > Linux 指令篇:档案目录管理--locate

Unix/Linux
mysql+httpd+gd+php+zend
automake 小回顾
unix黑客精神的最好诠释
www
sun t3存储的设置
RPM简明中文手册
Linux爱好者入门教程 序章 (持续更新)
第一章 Linux基础知识 (飘心)
linux下进程与线程
浅谈如何学习linux
第二章 Linux安装
硬件安装指南
Windows 2000 的桌面不見了的解決方法
部分的ADSL路由器默认帐号密码
如何设定安全log服务器呢?
iptables 规则速查
网友学习 Linux 的七点忠告
sniffer的含义及原理
Linux编程白皮书 第二章 内存管理
Linux编程白皮书 第二章 内存管理 2.1.1 请求调页 --2.1.5 访问控制

Unix/Linux 中的 Linux 指令篇:档案目录管理--locate


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 144 ::
收藏到网摘: n/a

  名称:locate
使用权限:所有使用者
使用方式: locate [-q] [-d ] [--database=
locate [-r ] [--regexp=]
locate [-qv] [-o ] [--output=
locate [-e ] [-f ] <[-l ] [-c]
<[-U ] [-u]>
locate [-Vh] [--version] [--help]
说明: 

locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案。其方法是先建立一个包括系统内所有档案名称及路径的数据库,之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之中了。 

在一般的 distribution 之中,数据库的建立都被放在 contab 中自动执行。一般使用者在使用时只要用 

# locate your_file_name

的型式就可以了。 参数: 
-u
-U 
建立数据库,-u 会由根目录开始,-U 则可以指定开始的位置。 

-e 
将   排除在寻找的范围之外。 

-l 
如果  是 1.则启动安全模式。在安全模式下,使用者不会看到权限无法看到的档案。这会始速度减慢,因为 locate 必须至实际的档案系统中取得档案的权限资料。 

-f 
将特定的档案系统排除在外,例如我们没有到理要把 proc 档案系统中的档案放在数据库中。 

-q 
安静模式,不会显示任何错误讯息。 

-n 
至多显示  个输出。 

-r 
使用正规运算式  做寻找的条件。 

-o 
指定数据库存的名称。 

-d 
指定数据库的路径 

-h
显示辅助讯息 

-v
显示更多的讯息 

-V
显示程序的版本讯息 范例: 

locate chdrv            : 寻找所有叫 chdrv 的档案
locate -n 100 a.out     : 寻找所有叫  a.out 的档案,但最多只显示 100 个
locate -u               : 建立数据库




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

locate指定用在搜寻符合条件的档案,它会去储存档案与目录名称的数据库内,寻找合乎范本样式条件的档案或目录录,可以使用特殊字元(如”*”或”?”等)来指定范本样式,如指定范本为kcpa*ner, locate会找出所有起始字串为kcpa且结尾为ner的档案或目录,如名称为kcpartner若目录录名称为kcpa_ner则会列出该目录下包括子目录在内的所有档案。 

locate指令和find找寻档案的功能类似,但locate是透过update程序将硬盘中的所有档案和目录资料先建立一个索引数据库,在执行loacte时直接找该索引,查询速度会较快,索引数据库一般是由操作系统管理,但也可以直接下达update强迫系统立即修改索引数据库。 
不过第一次在执行update後再使用locate寻找档案常会失败,此时就要执行slocate ˉu该命令(也可执行updatedb指令,其效果相同)来更新slocate数据库,该命令会在/usr/sbin下产生slocate执行档,再由locate到此数据库寻找所要找的资料。