[原创]快速查找文件之locate命令_VMware, Unix及操作系统讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  VMware, Unix及操作系统讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 3017 | 回复: 0   主题: [原创]快速查找文件之locate命令        下一篇 
wulcan
版主
等级:中校
经验:1795
发帖:124
精华:0
注册:2014-3-19
状态:离线
发送短消息息给wulcan 加好友    发送短消息息给wulcan 发消息
发表于: IP:您无权察看 2014-8-27 9:36:44 | [全部帖] [楼主帖] 楼主

一个系统中文件多了,会难找到具体的位置,虽然有find神器,但是如果文件数非常多的话,也需要很长的时间,并且在极限情况下,find会把整个存储系统都扫描一遍。

Linux/Unix提供了一个工具来快速的查找文件,这就是locate。

locate不是在需要的时候去扫描磁盘,而是定时扫描磁盘,默认是一周,然后把所有文件名都放在一个数据库中,在需要的时候,直接查数据库,不需要再扫描磁盘,所以查找文件的速度就非常快了。

使用也非常简单,没有特殊要求的话,直接在后面加上文件名就可以了:

%locate php5-exif
/usr/ports/graphics/php5-exif
/usr/ports/graphics/php5-exif/Makefile
/usr/ports.bak/graphics/php5-exif
/usr/ports.bak/graphics/php5-exif/Makefile


在这个例子中,来查找php5-exif的位置,显示的结果不仅显示了php5-exif的位置,并且把它的下级目录都显示了出来。

注意我的系统对ports做了个备份,locate连备份里面的文件都显示出来了。

如果是新安装的系统,运行locate时会提示:

%locate php5-exif
locate: database too small: /var/db/locate.database


这是因为locate的数据库还没有建立起来。

locate用的默认数据库是:/var/db/locate.dtabase,如果要手动更新这个数据库,可以运行命令:

/usr/libexec/locate.updatedb


这个命令会更新数据库。在大多数情况下,这个数据库每周运行一次,由/etc/periodic/weekly/310.locate来调用,当然也可以手工运行/etc/periodic/weekly/310.locate,也会得到一个新的locate数据库。

如果有文件locate不到的话,也可以手工运行一下这个程序。

该贴被wulcan编辑于2014-8-27 9:37:34

该贴由hui.chen转至本版2014-11-5 17:04:55




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论