whereis

whereis命令用来定位指令的二进制程序、源代码文件和man手册页等相关文件的路径。

whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。和find相比,whereis查找的速度非常快,这是因为linux系统会将 系统内的所有文件都记录在一个数据库文件中,当使用whereis和下面即将介绍的locate时,会从数据库中查找数据,而不是像find命令那样,通 过遍历硬盘来查找,效率自然会很高。 但是该数据库文件并不是实时更新,默认情况下时一星期更新一次,因此,我们在用whereis和locate 查找文件时,有时会找到已经被删除的数据,或者刚刚建立文件,却无法查找到,原因就是因为数据库文件没有被更新

格式

whereis [选项] [参数]

参数选项

参数 备注
-b 定位可执行文件
-m 定位帮助文件
-s 定位源代码文件
-u 搜索默认路径下除可执行文件、源代码文件、帮助文件以外的其它文件
-B 指定搜索可执行文件的路径
-M 指定搜索帮助文件的路径
-S 指定搜索源代码文件的路径

实例

  • 将和man文件相关的文件都查找出来

    命令: **whereis man **

[root@VM_0_9_centos java]# whereis man
man: /usr/bin/man /usr/share/man /usr/share/man/man1/man.1.gz # 等价三条命令
[root@VM_0_9_centos man]# whereis -b man
man: /usr/bin/man /usr/share/man
[root@VM_0_9_centos man]# whereis -m man
man: /usr/share/man/man1/man.1.gz
[root@VM_0_9_centos man]# whereis -s man
man:
[root@VM_0_9_centos man]#

whereis -m man 查出说明文档路径;

whereis -s man 找source源文件。

相关

  • 我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索:

    which 查看可执行文件的位置,通过环境变量PATH定义的路径下搜索可执行文件。

    whereis 查看文件的位置,包括man手册文件,源文件,二进制文件等。

    locate 配合数据库查看文件位置。

    find 实际搜寻硬盘查询文件名称。

参考

每天一个Linux命令:whereis(18)的更多相关文章

  1. 每天一个linux命令(18):find 命令概览

    Linux 下find命令在目录结构中搜索文件,并执行指定的操作.Linux下find命令提供了相当多的查找条件,功能很强大.由于find具有强大的功能,所 以它的选项也很多,其中大部分选项都值得我们 ...

  2. 每天一个Linux命令(18)loacte命令

    locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案.     (1)用法:   用法:  Locate  [选项] [参数]     (2)功能: 功能:  在mlocate数据库中搜索 ...

  3. 每天一个linux命令(18):locate 命令

    locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案.其方法是先建立一个包括系统内所有档案名称及路径的数据库,之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之中了.在一般的 di ...

  4. 每天一个 Linux 命令(18):locate 命令

    locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案.其方法是先建立一个包括系统内所有档案名称及路径的数据库,之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之中了.在一般的 di ...

  5. 每天一个Linux命令(18)--locate命令

    locate让使用者可以很快速的搜寻档案系统内是否有指定的档案.器方法是先建立一个包括系统内所有档案名称及路径的数据库,之后当寻找时就需查询这个数据库,而不必实际深入档案系统之中了.在一般的 ditr ...

  6. 【转】每天一个linux命令(18):locate 命令

    原文网址:http://www.cnblogs.com/peida/archive/2012/11/12/2765750.html locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案.其 ...

  7. 每天一个 Linux 命令(21):find命令之xargs

    在使用 find命令的-exec选项处理匹配到的文件时, find命令将所有匹配到的文件一起传递给exec执行.但有些系统对能够传递给exec的命令长度有限制,这样在find命令运行几分钟之后,就会出 ...

  8. 每天一个linux命令目录

    出处:http://www.cnblogs.com/peida/archive/2012/12/05/2803591.html 开始详细系统的学习linux常用命令,坚持每天一个命令,所以这个系列为每 ...

  9. 每天一个Linux命令

    每天一个Linux命令(1):ls命令 每天一个Linux命令(2):cd命令 每天一个Linux命令(3):pwd命令 每天一个 Linux 命令(4):mkdir 每天一个 Linux 命令(5) ...

  10. 每天一个linux命令-转载

    每天一个linux命令目录 转载自: http://www.cnblogs.com/peida/archive/2012/12/05/2803591.html   开始详细系统的学习linux常用命令 ...

随机推荐

  1. jmeter 命令行运行与生成报告

    一.     使用命令行方式运行Jmeter 1.1 为什么 使用GUI方式启动jmeter,运行线程较多的测试时,会造成内存和CPU的大量消耗,导致客户机卡死. 所以正确的打开方式是在GUI模式下调 ...

  2. nginx配置-main

    nginx配置分为几大块: main (全局设置) events(nginx工作模式) http(http设置): upstream(负载均衡服务器设置),server(主机设置):location( ...

  3. iOS 创建.xcworkspace文件

    首先创建一个HelloWorld工程,步骤如下:iOS开发环境搭建 及 编写1个hello world 然后: 1. 终端run $ cd到.xcodeproj同级文件夹 2. 终端run $ pod ...

  4. Netty精进01

    为什么要学习Netty? 目前基于Netty实现的一些优秀的开源框架:Dubbo.RocketMQ.Spark.Spring5.Flink.ElasticSearch.gRPC……这些还说明不了为什么 ...

  5. C# DataTable删除行Delete与Remove的问题

    DataTable删除行使用Delete后,只是该行被标记为deleted,但是还存在,用Rows.Count来获取行数时,还是删除之前的行数,需要使用datatable.AcceptChanges( ...

  6. Shell生成随机密码

    #tr参数 -c或——complerment:取代所有不属于第一字符集的字符: -d或——delete:删除所有属于第一字符集的字符: 1.生成10个小写字母 [root@kafka60 shell] ...

  7. Node.js实战5:操作系统与命令行。

    Nodejs有一些内置的方法可以查询操作系统信息: 如: process.arch获取到系统是32位还是64位, process.platform可获取系统的类型. 例程: console.log(p ...

  8. C#=>递归反转栈

    原理,递归反转栈 using System; using System.Collections.Generic; using System.Linq; using System.Threading.T ...

  9. 《JAVA设计模式》之外观模式(Facade)

    在阎宏博士的<JAVA与模式>一书中开头是这样描述门面(Facade)模式的: 门面模式是对象的结构模式,外部与一个子系统的通信必须通过一个统一的门面对象进行.门面模式提供一个高层次的接口 ...

  10. jsoncpp解析非json串

    转自:https://www.cnblogs.com/huojing/articles/5927488.html 由于Jsoncpp解析非法json时,会自动容错成字符类型.对字符类型取下标时,会触发 ...