一、locat命令
根据关键字模糊查询指定文件;只要文件名中带有这个关键字都会查询出来;
第一次使用locate命令查询,会出现失败的情况,因为locate是基于数据库索引(/var/lib/mlocate/mlocate.db)来进行查询,updatedb命令生成索引文件;
如果是新创建的文件,立即使用locate命令查询,会查询不到,原因是因为数据库索引文件还没有同步这个文件,同步有一定的周期。如果要立即生效的话,执行updatedb命令
命令格式
locate 关键字 -n x 表示查询前x行
locate 关键字 -i 表示查询的时候忽略大小写
# /tmp目录:用于存放短期临时文件,例如安装包;系统重启后,目录中的文件就会被自动清除
# /mnt目录:用于挂载外部存储设备或文件系统的目录
二、/etc/updatedb.conf 文件
# 存放了locate命令执行时默认排除的目录,也就是不去搜索这些文件
修改这个配置文件,locate命令即可搜索/mnt、/mnt等目录下的文件
例:rhel9中
PRUNE_BIND_MOUNTS = "yes"'
开启locate命令搜索限制
PRUNEFS =
搜索时,不搜索的文件系统
PRUNENAMES=
搜索时,不搜索的文件类型
PRUNEPATHS=
搜索时,不搜索的路径
上图中我已通过编辑配置文件的形式(编辑这一行 "PRUNEPATHS=")删除了对于/tmp目录的搜索限制