locate 和 find

因工作需求,需要查找到系统内是否有 密钥文件 id_rsa 或 id_dsa;想到两个工具find 和 locate

find 可以对指定范围内的文件进行实时查找,但是 考虑到这种方法非常耗时。

locate 是通过对数据库的表进行查询,所以速度特别快,不用担心遇到大文件系统时进行耗时的搜索。

命令: locate -r 'id_[r,d]sa' 

查找结果还可以使用 $? 的返回值进行判断,当 $? == 0 时表示找到了;当 $? == 1 表示没有找到

另外使用locate 时要注意:

  1、更新数据库表   cmd:updatedb;

  2、 在其配置文件/etc/updatedb.conf 中定义了 locate 不会去搜索的文件系统类型、文件类型、目录;

原文地址:https://www.cnblogs.com/charles7987/p/10769816.html