一、文件搜索命令
1.1 文件搜索命令locate
在后台数据库中按文件名搜索,只可以搜索文件名,搜索功能简单,但搜索速度快,命令格式为:
locate [文件名]
问题一:centOS系统找不到locate命令
locate: command not found
解决方法:
原因是系统中没有安装mlocate这个包。
* 第一步:安装mlocate包
yum -y install mlocate
会出现下面正在安装该包的信息,等待一会,直到出现Complete!就表示安装完成了。
* 第二步:更新数据库
updatedb
* 第三步:就可以使用locate命令了
[root@localhost ~]# locate install.log
/root/install.log
/root/install.log.syslog
问题二:当在某些目录下创建文件,然后更新数据库之后,并不能用locate命令查找到
原因是系统在更新数据库的配置文件中,设置了一些搜索限制,所以搜索不到,输入如下命令可以看到:
[root@localhost ~]# vi /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"
/etc/updatedb.comf配置文件
- PRUNE_BIND_MOUNTS = “yes” 表示开启搜索限制,如果为’no’则表示不开启搜索限制;
- PRUNEFS = 表示搜索时,不搜索的文件系统;
- PRUNENAMES = 表示搜索时,不搜索的文件类型;
- PRUNEPATHS = 表示搜索时,不搜索的路径;
不只locate命令遵循搜索限制,whereis与which也遵循
1.2 whereis与which命令
whereis与which命令是用来搜索命令的
1.3 find命令
find命令功能强大,搜索速度相对较慢,而且搜索范围广