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

来源:互联网 发布:数据库实例 编辑:程序博客网 时间:2024/05/17 08:52

引言

find最强大,什么都能查,可以根据条件查找文件。

which只能查可执行文件和别名(alias)。

whereis只能查二进制文件、说明文档,源文件等,可以找到可执行程序和man page。

locate是在数据库里查找,数据库大至每天更新一次,但跟whereis一样都是查数据库里的内容。

 

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是从生成的数据库开始查照,速度很快,但是数据库需要定期更新,一般是每次开机的时候(也可以手动执行 updatedb 命令);

which只能查可执行文件和别名(alias);

whereis只能查二进制文件、说明文档,源文件等,可以找到可执行程序和man page。

 

原创粉丝点击