Linux 下查找文件命令find和locate

1.whereis 文件名

特点:快速,但是是模糊查找,例如 找

whereis mysql

它会把mysql,mysql.ini,mysql.*所在的目录都找出来.

2.find / -name 文件名或文件夹名

特点:准确,但速度慢,消耗资源大,例如我想找到PHP.ini的准确位置,就需要用

find / -name php.ini

3.locate 文件名

强力推荐的方法,最快,最好的方法.

CentOS7默认没有安装该命令

解决方案:

1、安装"locate"命令即可。在联网状态运行“yum install mlocate”命令。
 
2、提示:Is this ok [y/d/N],这里我们执行y,再次出现是否继续也是执行y。
 
3、第2步执行完,mlocate已安装完成。接下来需更新后台数据库,输入命令:updatedb。

 这里需要注意一点:如果没有updatedb更新后台数据库,直接输入查找命令:locate,还是未能找到命令。原因是Linux不是实时更新它的后台数据库,所以我们并不能马上执行。

4、运行“locate inittab”(必须安装完,并执行updatedb之后执行此命令)

locate命令其实是“find -name”的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库(/var/lib/locatedb),这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。

locate命令的使用实例:

  $ locate /etc/sh

搜索etc目录下所有以sh开头的文件。

  $ locate ~/m

搜索用户主目录下,所有以m开头的文件。

  $ locate -i ~/m

搜索用户主目录下,所有以m开头的文件,并且忽略大小写。

4. which

which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。

which命令的使用实例:

which reboot

版权声明:本文为weixin_44618297原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。