Linux上提供了两款工具用于查找文件,一款是locate,另一款是find。
locate的特点是根据已生成的数据库查找,速度较快,但是查找的是快照数据,不准确。
因此在日常使用中,为了准确性,使用find的情况比较常见。并且find可自定义查找条件,十分灵活。
locate
Linux上有一个RPM包,名为mlocate,它是locate/updatedb的一种实现。
mlocate前面的m代表的意思是merging,它表示updatedb会重复使用已存在的数据库,从而避免读取整个文件系统,这样就加快了updatedb的速度。
mlocate包中主要有2个命令,一个是locate,另一个是updatedb。
updatedb用于检索Linux的文件系统并生成/更新数据库文件,该数据库记录了系统上每个文件的位置。
它会结合crontab每日更新,相关的文件是:/etc/cron.daily/mlocate。
locate根据用户所输入的关键词(pattern)读取updatedb所维护的数据库,并将结果输出在STDOUT上。
locate [OPTION]... PATTERN...