经常面临需要在linux系统中找各种文件存放路径的窘境,对于此系统提供了很多查找方法,现在对locate做笔记如下:
locate命令的最大优点就是查找速度快,因为locate的查找机制是查找linux系统对系统内文件名创建的镜像数据库,而系统默认的数据库更新周期为一天,所以在执行locate命令时要先进行updatedb操作,鉴于locate的查找机制,locate的另外一个缺点是只能查找文件名。
locate的用法为
locate filename
初用locate的我,发现locate命令无法找到一些文件夹下的内容,这一玄机在locate的配置文件内说明,该文件为/etc/updatedb.conf,下面粘贴该文件内容:
PRUNE_BIND_MOUNTS = "yes"
PRUNEFS = "9p afs anon_inodefs auto autofs bdev binfmt_misc cgroup cifs coda configfs cpuset debugfs devpts ecryptfs exofs fuse fusectl gfs gfs2 hugetlbfs inotifyfs iso9660 jffs2 lustre mqueue ncpfs nfs nfs4 nfsd pipefs proc ramfs rootfs rpc_pipefs securityfs selinuxfs sfs sockfs sysfs tmpfs ubifs udf usbfs vmhgfs"
PRUNENAMES = ".git .hg .svn"
PRUNEPATHS = "/afs /media /net /sfs /udev /var/cache/ccache /var/spool/cups /var/spool/squid "
该文件主要由四部分组成
第一行的指定下面三行的规则是否生效,如果参数为no,则不生效
第二行指定不需要检索的文件系统
第三行指定不检索的后缀
第四行指定不检索的目录,这里面有常用的/tmp,可以根据具体需要进行增删。