介绍
locate
命令其实是find -name
的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库/var/lib/locatedb
,这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate
命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate
之前,先使用updatedb
命令,手动更新数据库。
updatedb之后使用locate仍然找不到想要文件,可以检查挂载的目录是否被忽略了
updatedb配置
1 2 3 4 5 6 7 8 9
| PRUNE_BIND_MOUNTS = "yes" PRUNEFS = "9p afs anon_inodefs auto autofs bdev binfmt_misc cgroup cifs coda confi gfs cpuset debugfs devpts ecryptfs exofs fuse fuse.sshfs fusectl gfs gfs2 gpfs hug etlbfs inotifyfs iso9660 jffs2 lustre mqueue ncpfs nfs nfs4 nfsd pipefs proc ramfs rootfs rpc_pipefs securityfs selinuxfs sfs sockfs sysfs tmpfs ubifs udf usbfs fus e.glusterfs ceph fuse.ceph" PRUNENAMES = ".git .hg .svn" PRUNEPATHS = "/afs /media /mnt /net /sfs /tmp /udev /var/cache/ccache /var/lib/yum /yumdb /var/spool/cups /var/spool/squid /var/tmp /var/lib/ceph"
|
安装
用法
选项
选项 |
描述 |
-d<目录>或--database=<目录> |
指定数据库所在的目录; |
-u |
更新slocate数据库; |
-i |
忽略大小写 |
-q, --quiet |
安静模式,不会显示任何错误讯息 |
-r, --regexp REGEXP |
使用基本正则表达式 |
--help |
显示帮助; |
--version |
显示版本信息。 |
参数
参数 |
描述 |
查找字符串 |
要查找的文件名中含有的字符串。 |
例子