Linux文件搜索之 find / locate / whereis / which

 

find最强大,什么都能查

which只能查可执行文件

whereis只能查二进制文件、说明文档,源文件等

locate能查所以,但跟whereis一样都是查数据库里的内容。




 locate 是在数据库里查找,数据库大至每天更新一次。

whereis 可以找到可执行明令和man page

find 就是根据条件查找文件。

which 可以找到可执行文件和别名(alias)


Linux文件搜索之 find / locate / whereis / which


1.find /etc -name my.so

2.locate 是用来通过文件名搜索文件的工具,它的用法也比较简单。locate 的应用,首先要通过updatedb建立索引数据库,然后才能应用;如果您新安装了软件或者存放了新的文件,也要先运行updatedb命令,以生成最新索引库。
用法: locate 文件名
我们要先运行updatedb;
[root@localhost ~]# updatedb
举例: 我们要找vsftpd.conf文件都位于哪个位置;
[root@localhost ~]# locate my.so

3.
whereis 是来寻找命令的二进制文件,同时也会找到其帮助文件;
比如我们不知道fdisk工具放在哪里,我们就可以用whereis fdisk 来查找;
[root@localhost ~]# whereis fdisk
fdisk: /sbin/fdisk /usr/share/man/man8/fdisk.8.gz
如果我们寻找grub在哪里,应该用如下命令,说明grub位于/sbin目录,他的帮助文件是grub.8.gz ,也就是man grub;
[root@localhost ~]# whereis grub
grub: /sbin/grub /etc/grub.conf /usr/share/grub /usr/share/man/man8/grub.8.gz

4.
which 和where 相似,只是我们所设置的环境变量中设置好的路径中寻找;比如;
[root@localhost ~]# which fdisk
/sbin/fdisk






find是从指定目录开始分级查找,缺点是速度慢,但是查的文件是当前存在在硬盘上的文件  
  locate是从生成的数据库开始查照,速度很快,因为只需要查找数据库,但是功能上有很多限制,而且跟数据库的新旧有关,默认是系统启动的时候,cron.daily来执行数据库更新的任务(有个updatedb).  
  至于whereis,我不是很清楚,不过感觉他只是查照可执行文件和相关的man,这个我说得不一定对,大家可以更正一下
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页