where 命令只能用于 程序名 的搜索,而且只搜索二进制文件(参数 -b),man说明文件(参数 -m)和源代码文件(参数 -s)。如果省略参数,则 返回所有信息 ;
和 find 相比,whereis 查找速度非常快,因为 Linux 系统会将系统内的所有文件都记录在一个数据库文件中,当使用 whereis 和下面即将介绍的 locate 时,会从数据库查找数据,而不是像 find 命令那样,通过遍历硬盘来查找文件,效率自然会很高;
但该数据库不是实时更新的,默认情况下一星期更新一次。因此,我们在用 whereis 和 locate 查找文件时,有时会找到已经被删除的数据,或者刚刚建立的文件,却无法查找到,原因就是数据库文件还没有更新;
命令格式 - whereis [-bmsu] [BMS 目录名 -f] 文件名
命令功能 -
命令参数 -
命令实例 -
实例一:将和 xx 文件相关的文件都查找出来
命令
xxxxxxxxxx
11whereis svn
输出
xxxxxxxxxx
31Qs-MacBook-Pro:dir1 qiu$ whereis tomcat
2Qs-MacBook-Pro:dir1 qiu$ whereis svn
3/usr/bin/svn
说明
tomcat 没安装,找不出来;svn 安装了;
实例二:只将二进制文件找出来
命令
xxxxxxxxxx
11whereis -b svn
输出
xxxxxxxxxx
91// Mac_Terminal 下 whereis 无任何参数
2// 该实例是 Linux 下的
3[root@localhost ~]# whereis -b svn
4svn: /usr/bin/svn /usr/local/svn
5[root@localhost ~]# whereis -m svn
6svn: /usr/share/man/man1/svn.1.gz
7[root@localhost ~]# whereis -s svn
8svn:
9[root@localhost ~]#