Linux--查找命令locate(二)

locate 查找

优缺点:
1. 通过文件名检索文件,检索速度最快
2. 所有能够检索的东西,都是存放在数据库中的
3. locate局限性,有的文件系统、有的文件及有的目录默认是不会搜索的
1、如果没有这个命令,可以如下操作安装
[root@salt-master test03]#  yum install mlocate -y
[root@salt-master test03]# which locate
/usr/bin/locate
2、updatedb–初始化locate数据库
[root@salt-master test03]# locate ifcfg-eth1
locate: can not stat () `/var/lib/mlocate/mlocate.db': No such file or directory
[root@salt-master test03]#  updatedb          
3、查找文件,简单快捷
[root@salt-master test03]# locate ifcfg-eth1
/etc/sysconfig/network-scripts/ifcfg-eth1
4、支持模糊查找,如果用find需要使用通配符*
[root@salt-master test03]# locate ifcfg
/etc/sysconfig/network-scripts/ifcfg-eth1
/etc/sysconfig/network-scripts/ifcfg-lo
/sbin/ifcfg
/usr/share/man/man8/ifcfg.8.gz
/var/log/anaconda.ifcfg.log

[root@salt-master test03]# find / -name ifcfg
/sbin/ifcfg

[root@salt-master test03]# find / -name *ifcfg*
/etc/sysconfig/network-scripts/ifcfg-eth1
/etc/sysconfig/network-scripts/ifcfg-lo
/sbin/ifcfg
/var/log/anaconda.ifcfg.log
/usr/share/man/man8/ifcfg.8.gz
5、由于locate的数据库是一天一更新,不是实时更新的。所有有时候需要查不到文件或者目录时,可以手动更新下locate的数据库,命令是updatedb
[root@salt-master test03]# cp `which vim` ./vim3
[root@salt-master test03]# ls
01  02  04  11.txt  vim3
[root@salt-master test03]# locate vim3
[root@salt-master test03]# updatedb
[root@salt-master test03]# locate vim3
/root/test03/vim3
[root@salt-master test03]#
6、locate配置文件详解
[root@salt-master test03]# cat /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 gpfs 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"
PRUNENAMES = ".git .hg .svn"
PRUNEPATHS = "/afs /media /net /sfs /tmp /udev /var/cache/ccache /var/spool/cups /var/spool/squid /var/tmp"
第一行PRUNE_BIND_MOUNTS="yes"的意思是:是否进行限制搜索。
第二行是排除检索的文件系统类型,即列出的文件系统类型不进行检索。
第三行PRUNENAMES=".git .bzr .hg .svn"表示对哪些后缀的文件排除检索,也就是列在这里面的后缀的文件跳过不进行检索。不同后缀之间用空格隔开。这个功能默认是开启的,如果需要关闭用#注释掉。
第四行是排除检索的路径,即列出的路径下的文件和子文件夹均跳过不进行检索。所以如果需要查找的文件在第四行中列出下,则需要在配置文件中去掉。

你可能感兴趣的:(Linux命令)