虽然find命令搜索能力强,但是对于大批量的搜索来说,find搜索就会慢很多,尤其是每次都从整个文件系统进行搜索时,这时我们可以使用locate命令进行查找,搜索几乎就是一瞬间的事情!

    locate主要是通过文件名数据库来确定文件的位置进行搜索,他会自动建立整个系统的文件名数据库,如果需要更新最新的文件名数据库,我们可以使用以下命令:

1
2
root@VM-12-155-debian:~ # updatedb
root@VM-12-155-debian:~ #


    基本使用语法如下:

1
locate  关键字  // 关键字主要是只文件名或目录名
1
2
3
4
5
6
7
8
root@VM-12-155-debian:~ # locate passwd
/etc/passwd
/etc/passwd-
/etc/cron .daily /passwd
/etc/exim4/passwd .client
/etc/pam .d /chpasswd
/etc/pam .d /passwd
/etc/security/opasswd
1
2
3
4
5
root@VM-12-155-debian:~ # locate /etc/shad
/etc/shadow
/etc/shadow-
/var/lib/docker/aufs/diff/f0ea6429bcad3d955456f12097b82ac4de51af9555aeb730d13aa8e54c57ebee/etc/shadow
root@VM-12-155-debian:~ #