CentOS-Linux搜索命令locate详解

本文介绍了Linuxlocate命令的安装步骤,强调了locate与find的区别,以及其高效的搜索特点。重点讲解了locate的安装、未实时更新数据库的影响以及如何手动更新。还提供了locate命令的使用示例和配置选项,如忽略大小写、搜索特定目录等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

locate操作命令

1、locate命令安装

2、locate命令的使用

应用场景


locate操作命令

locate是一个普通的搜索命令,不同于find,locate只能搜索文件名,不能进行复杂条件搜索,但locat命令的搜索效率比find高很多,并且消耗资源少,原因在于它不搜索具体目录,而是搜索一个数据库/var/lib/mlocate/mlocate.db!

1、locate命令安装

CentOS 7默认没有安装该命令,需要手动安装才能使用;

yum install mlocate

[root@localhost ~]# yum install mlocate

已加载插件:fastestmirror

Loading mirror speeds from cached hostfile

 * base: mirrors.aliyun.com

 * extras: mirrors.aliyun.com

 * updates: mirrors.aliyun.com

安装完后输入locate,提示未找到命令 

[root@localhost ~]# locate

-bash: locate: 未找到命令

 

原因是Linux不是实时更新它的后台数据库,而是每天自动更新一次,所以我们并不能马上执行,需要手动使用updatedb命令更新数据库才能使用locate命令;

[root@localhost ~]# updatedb

[root@localhost ~]# locate

locate: 没有指定任何搜索模式

2、locate命令的使用

【语法格式】

locate  [选项]  [参数]

 

功能描述(仅介绍最常用的选项,如需查看帮助文档可输入locate--help) 

选项(注意大小写)

作用

-i

忽略大小写

应用场景

【2-1】搜索etc目录下所有以cron开头的文件,这个命令类似find /etc/ -name my*

locate /etc/cron

操作结果 

[root@localhost ~]# locate /etc/cron

/etc/cron.d

/etc/cron.daily

/etc/cron.deny

/etc/cron.hourly

/etc/cron.monthly

/etc/cron.weekly

/etc/crontab

/etc/cron.d/0hourly

/etc/cron.daily/logrotate

/etc/cron.daily/man-db.cron

/etc/cron.daily/mlocate

/etc/cron.hourly/0anacron

【2-2】在家目录创建一个yu文件,然后使用locate查找这个文件;

[root@localhost ~]# locate /root/yu01

[root@localhost ~]#

 

没有找到任何信息,因为新增的文件无法locate,使用locate是搜索数据库中的本地文件信息,而不是目录的信息,Linux每天自动更新一次数据库,因此,我们在用locate查找文件时,有时会找到已经被删除的数据,或者刚刚建立文件,却无法查找到。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。

[root@localhost ~]# updatedb

[root@localhost ~]# locate /root/yu

/root/yu

另外,如果你需要限制locate的搜索条件,可以修改/etc/updatedb.conf文件 

第一行PRUNE_BIND_MOUNTS="yes"的意思是:是否进行限制搜索。

第二行是排除检索的文件系统类型,即列出的文件系统类型不进行检索。

第三行表示对哪些后缀的文件排除检索,也就是列在这里面的后缀的文件跳过不进行检索。不同后缀之间用空格隔开。

第四行是排除检索的路径,即列出的路径下的文件和子文件夹均跳过不进行检索。 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值