因工作需求,需要查找到系统内是否有 密钥文件 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 不会去搜索的文件系统类型、文件类型、目录;