linux下whereis 命令
whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。
和find相比,whereis查找的速度非常快,这是因为linux系统会将 系统内的所有文件都记录在一个数据库文件中,当使用whereis和下面即将介绍的locate时,会从数据库中查找数据,而不是像find命令那样,通 过遍历硬盘来查找,效率自然会很高。
但是该数据库文件并不是实时更新,默认情况下时一星期更新一次,因此,我们在用whereis和locate 查找文件时,有时会找到已经被删除的数据,或者刚刚建立文件,却无法查找到,原因就是因为数据库文件没有被更新。
1.命令格式:
whereis [-bmsu] [BMS 目录名 -f ] 文件名
2.命令功能:
whereis命令是定位可执行文件、源代码文件、帮助文件在文件系统中的位置。这些文件的属性应属于原始代码,二进制文件,或是帮助文件。whereis 程序还具有搜索源代码、指定备用搜索路径和搜索不寻常项的能力。
3.命令参数:
-b 定位可执行文件。
-m 定位帮助文件。
-s 定位源代码文件。
-u 搜索默认路径下除可执行文件、源代码文件、帮助文件以外的其它文件。
-B 指定搜索可执行文件的路径。
-M 指定搜索帮助文件的路径。
-S 指定搜索源代码文件的路径。
4.使用实例:
实例1:将和**文件相关的文件都查找出来
命令:
whereis svn
输出:
[root@localhost ~]# whereis tomcat
tomcat:
[root@localhost ~]# whereis svn
svn: /usr/bin/svn /usr/local/svn /usr/share/man/man1/svn.1.gz
说明:
tomcat没安装,找不出来,svn安装找出了很多相关文件
实例2:只将二进制文件 查找出来
命令:
whereis -b svn
输出:
[root@localhost ~]# whereis -b svn
svn: /usr/bin/svn /usr/local/svn
[root@localhost ~]# whereis -m svn
svn: /usr/share/man/man1/svn.1.gz
[root@localhost ~]# whereis -s svn
svn:
[root@localhost ~]#
说明:
whereis -m svn 查出说明文档路径,whereis -s svn 找source源文件。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
为入门学者提供简单介绍Linux ldd命令
如果您的工作涉及到 Linux 中的可执行文件和共享库的知识,则需要了解几种命令行工具。其中之一是 ldd ,您可以使用它来访问共享对象依赖关系。在本教程中,我们将使用一些易于理解的示例来讨论此实用程序的基础知识。 请注意,这里提到的所有示例都已在 Ubuntu 16.04 LTS 上进行了测试。 Linux ldd 命令 正如开头已经提到的,ldd 命令打印共享对象依赖关系。以下是该命令的语法: ldd [option]... file... 下面是该工具的手册页对它作出的解释: ldd 会输出命令行指定的每个程序或共享对象所需的共享对象(共享库)。 以下使用问答的方式让您更好地了解ldd的工作原理。 问题一、 如何使用 ldd 命令? ldd 的基本用法非常简单,只需运行 ldd 命令以及可执行文件或共享对象的文件名称作为输入。 ldd [object-name] 例如: ldd test How to use ldd 所以你可以看到所有的共享库依赖已经在输出中产生了。 Q2、 如何使 ldd 在输出中生成详细的信息? 如果您想要 ldd 生成详细信息,包括符号版本控制数据,则可以...
- 下一篇
linux一些基本指令
pwd -p:显示出正确的路径 而不是连接档 mkdir: 建立目录的话 如果你想建立mkdir /home/test1/test2 可以直接加参数mkdir -p jiu 不需要一层一层创建了 rmdir:原本的话目录是需要一层一层来删除的,被删除的目录中不能有其他的目录或者文档 如果你想要直接删除的可以用rm -r test 这样 另外 如果你想删除上层的目录的话 加上-p ls:环境变量的作用 本来ls命令在/bin/ls下的 但是为什么我在任何地方都能执行ls呢,因为环境变量! echo $PATH 显示path环境变量 问:如果你mv /bin/ls /root 移动到了root下 即时你现在在root下面,那么你也不能直接执行ls命令,因为这时候你想执行的话: 1 直接用绝对路径指向 /root/ls 2 ./ls 这样 如果想在任何目录都可以执行/root下的ls 吧root假如PATH PATH=“$PATH”:/root 问:如果我有2个ls 在不同的目录中 比如/usr/local/bin/ls 和 /bin/ls 哪个ls会被执行。 答:PATH中哪个目录先被查询...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7设置SWAP分区,小内存服务器的救世主
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- 设置Eclipse缩进为4个空格,增强代码规范
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2全家桶,快速入门学习开发网站教程
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程