linux的locate命令和find命令的区别

Linux为locate命令在/var/lib/mlocate目录专门有一个文件信息的数据库,用locate命令查找文件时,其实是在这样的数据库中查找。所以locate命令和find命令的区别就是,locate命令查找文件在数据库中查找,查找的速度非常快,几乎是马上列出结果;而find命令查找时则是直接查找硬盘上的文件,查找的速度相应的非常慢。不过find命令查找文件比locate命令要可靠一些,因为locate的数据库是每天更新一次,如果是刚刚新建的文件,locate命令会找不到。

linux中find命令优点是能实现精确查找,缺点对系统资源耗费大。

locate 命令实现快速查找,它的机制是在/var/lib/mlocate/mlocate.db 创建了一个这样的数据库,系统内的所有文件会被定期的收入到这

个数据库中,通过locate命令是在这个数据库内进行查找,所以速度特别的快。对于新创建的文件或目录,我们需要用命令:updatedb 来更新数据库后

再用locate命令即可生效。另外,对于/tmp这个临时目录下的文件或目录,利用locate命令是无法查找的。

你可能感兴趣的:(Linux)