Linux命令(5):locate命令

使用说明:
直接 locate 文件名,eg: locate passwd 
但与find 不同:  find 是去硬盘找.
locate 只在/var/lib/slocate资料库中找
locate的速度比find快,它并不是真的查找,而是查数据库,一般文件数据库在/var/lib/slocate/slocate.db中,所以locate的查找并不是实时的,而是以数据库的更新为准,一般是系统自己维护,也可以手工升级数据库 locate -u;
更多使用,请参考man~~
数据库/var/lib/slocate/slocate.db记录了创建数据库时文件系统上的文件数据,也就是整个/下,只是这个数据库放在/var下,所理论上以是可以查找其他目录的内容,你locate passwd,就会显示/etc/passwd~
例子给了啊,比如你要找passwd文件,就在终端下输入: locate passwd
但是,这个东西还是有使用上的限制呦!为什麼呢?您会发现使用 locate 来寻找资料的时候特别的快, 这是因为 locate 寻找的资料是由『已建立的资料库 /var/lib/slocate/』 里面的资料所搜寻到的
使用locate可以查找文件系统里的命令、设备、手册页、数据文件或可根据名字识别的任意文件。示例如下:
$ locate e100  
/lib/modules/2.6.20-1.2949.fc7/kernel/drivers/net/e100.ko  
/lib/modules/2.6.20-1.2949.fc7/kernel/drivers/net/e1000/e1000.ko 

上面的示例会查找e100.ko和e1000.ko这两个内核模块。locate命令使用-i选项时不区分大小写,否则区分大小写,示例如下:

$ locate -i itco_wdt  
/lib/modules/2.6.20-1.2949.fc7/kernel/drivers/char/watchdog/iTCO_wdt.ko 

下面几个示例使用locate加上正则表达式:

$ locate -r /ls$             查找以/ls$结尾的文件  
/bin/ls  
/usr/share/locale/l10n/ls  
$ locate -r mkfs*3           查找文件名包含mkfs和3的文件  
/sbin/mkfs.ext3  
/usr/share/man/man8/mkfs.ext3.8.gz  
$ locate -r ^/boot/grub/me   查找以/boot/grub/me开头的文件  
/boot/grub/menu.lst 

RPM包mlocate(有些Linux发行版为slocate)会提供一个cron作业,每天运行一次updatedb命令,用于更新文件locate数据库。由于用户要找的文件可能在数据库上次更新后已删除,可以使用locate -e检查数据库中找到的文件是否仍然存在:

$ locate -e myfilename 

手工运行updatedb命令可以立即更新locate数据库:

# updatedb 
转载:http://anwj336.blog.163.com/blog/static/8941520920117622225173/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值