在centOS7以上的系统中使用“locate”文件查找命令,发现该命令不可用。
检查了下,原来是centos7默认没有安装该命令,在联网状态运行“yum install mlocate”命令即可安装"locate"命令。
安装完之后运行“locate inittab”,发现结果如下:
[root@yang ~]# locate inittab
locate: can not stat () `/var/lib/mlocate/mlocate.db': No such file or directory
并没有查询出相关文件,此时需要线运行下“updatedb”命令初始化一下文件库,在运行“locate inittab”,发现结果如下:
[root@yang ~]# locate inittab
/etc/inittab
/usr/share/vim/vim74/syntax/inittab.vim
这时“locate”命令就可以正确使用了。
注:locate的搜索数据库由另一个叫做updatedb的程序创建,通常该程序作为一个cron任务定期执行,所谓cron任务就是指定期由cron守护进程执行的任务,多数装有locate命令的系统每天执行一次updatedb命令。由此可见。locate的搜索数据库并不是持续更新的,所以locate命令查找不到非常新的文件。解决方法就是切换为超级用户,手动进行updatedb程序。