Linux系统命令whereis详解-用于查找某个命令的执行文件、源代码文件和手册页的位置

本文主要是介绍Linux系统命令whereis详解-用于查找某个命令的执行文件、源代码文件和手册页的位置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

目录

一、whereis命令介绍

二、命令语法

三、常用选项

1、常用选项

2、命令的帮助消息

四、示例

1、查找所有与 `ls` 相关的文件:

2、只查找 `ls` 的二进制文件:

3、只查找 `ls` 的手册页文件:

4、注意事项

五、命令输出

1、输出位置信息

2、输出示例

六、与其他命令的比较


一、whereis命令介绍

        `whereis` 是 Linux 系统中一个用于查找二进制文件、源代码文件和手册页文件的命令。它基于预先构建的数据库进行搜索,因此速度相对较快,但可能无法找到最近安装或更新的文件。

二、命令语法

         基本语法如下:

        whereis [选项] [文件名]

三、常用选项

1、常用选项

        `-b`:只查找二进制文件。

        `-m`:只查找手册页文件。

        `-s`:只查找源代码文件。

2、命令的帮助消息

        如果没有提供选项和文件名,`whereis` 会输出一个简要的帮助消息。如下图:

四、示例

1、查找所有与 `ls` 相关的文件:

        whereis ls

        此命令会返回 `ls` 的二进制文件、源代码文件(如果存在)和手册页文件的路径。

2、只查找 `ls` 的二进制文件:

        whereis -b ls

3、只查找 `ls` 的手册页文件:

        whereis -m ls

4、注意事项

        `whereis` 命令基于 `updatedb` 命令创建的数据库进行搜索。如果你新安装或更新了某个软件,但 `whereis` 无法找到它,可能需要运行 `sudo updatedb` 来更新数据库。

        `whereis` 并不搜索当前目录或用户的 `$PATH` 环境变量中的目录。如果你知道文件大致在哪个目录下,但不确定确切的路径,使用 `find` 或 `locate` 命令可能更为合适。

五、命令输出

1、输出位置信息

        `whereis` 命令搜索以下三个标准位置:

        (1). 二进制文件(通常位于 `/usr/bin`、`/usr/sbin`、`/bin` 或 `/sbin`)。

        (2). 源代码文件(通常位于 `/usr/src` 或 `/usr/local/src`)。

        (3). 手册页(通常位于 `/usr/share/man`)。

2、输出示例

        例如,如果你想查找 `ls` 命令的二进制文件、源代码文件和手册页的位置,你可以这样做:

        whereis ls

        输出可能类似于:

        ls: /bin/ls /usr/share/man/man1/ls.1.gz

        可以看看实际操作的效果:

        这表明 `ls` 命令的二进制文件位于 `/bin/ls`,其手册页可以在 `/usr/share/man/man1/ls.1.gz` 找到。注意,不一定总是能找到源代码文件,因为不是所有的命令都发布源代码。

        `whereis` 命令没有提供通用的选项来指定自定义的路径。如果你需要这样做,你可以使用 `find` 命令或其他查找工具。

        需要注意的是,`whereis` 命令的行为和可用的路径可能会根据你的 Linux 发行版和配置而有所不同。

六、与其他命令的比较

        `which`:这个命令用于在用户的 `$PATH` 环境变量中查找可执行文件的路径。它只返回第一个匹配的文件路径。

        `locate`:这个命令基于一个预先构建的数据库进行搜索,类似于 `whereis`,但 `locate` 的数据库通常更全面,并且可以通过 `updatedb` 命令定期更新。

        `find`:这是一个强大的命令,用于在文件系统中实时搜索文件。它可以根据各种条件(如文件名、大小、修改时间等)进行搜索,但通常比 `whereis`、`which` 和 `locate` 慢。


若想了解更多,文章正下方可以看到我的联系方式:鼠标点击” 下面的 “威迪斯特-就是video system 微信名片字样,就会出现我的二维码,欢迎沟通探讨。


这篇关于Linux系统命令whereis详解-用于查找某个命令的执行文件、源代码文件和手册页的位置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/860463

相关文章

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

linux-基础知识3

打包和压缩 zip 安装zip软件包 yum -y install zip unzip 压缩打包命令: zip -q -r -d -u 压缩包文件名 目录和文件名列表 -q:不显示命令执行过程-r:递归处理,打包各级子目录和文件-u:把文件增加/替换到压缩包中-d:从压缩包中删除指定的文件 解压:unzip 压缩包名 打包文件 把压缩包从服务器下载到本地 把压缩包上传到服务器(zip

OpenHarmony鸿蒙开发( Beta5.0)无感配网详解

1、简介 无感配网是指在设备联网过程中无需输入热点相关账号信息,即可快速实现设备配网,是一种兼顾高效性、可靠性和安全性的配网方式。 2、配网原理 2.1 通信原理 手机和智能设备之间的信息传递,利用特有的NAN协议实现。利用手机和智能设备之间的WiFi 感知订阅、发布能力,实现了数字管家应用和设备之间的发现。在完成设备间的认证和响应后,即可发送相关配网数据。同时还支持与常规Sof

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

30常用 Maven 命令

Maven 是一个强大的项目管理和构建工具,它广泛用于 Java 项目的依赖管理、构建流程和插件集成。Maven 的命令行工具提供了大量的命令来帮助开发人员管理项目的生命周期、依赖和插件。以下是 常用 Maven 命令的使用场景及其详细解释。 1. mvn clean 使用场景:清理项目的生成目录,通常用于删除项目中自动生成的文件(如 target/ 目录)。共性规律:清理操作

6.1.数据结构-c/c++堆详解下篇(堆排序,TopK问题)

上篇:6.1.数据结构-c/c++模拟实现堆上篇(向下,上调整算法,建堆,增删数据)-CSDN博客 本章重点 1.使用堆来完成堆排序 2.使用堆解决TopK问题 目录 一.堆排序 1.1 思路 1.2 代码 1.3 简单测试 二.TopK问题 2.1 思路(求最小): 2.2 C语言代码(手写堆) 2.3 C++代码(使用优先级队列 priority_queue)

Linux_kernel驱动开发11

一、改回nfs方式挂载根文件系统         在产品将要上线之前,需要制作不同类型格式的根文件系统         在产品研发阶段,我们还是需要使用nfs的方式挂载根文件系统         优点:可以直接在上位机中修改文件系统内容,延长EMMC的寿命         【1】重启上位机nfs服务         sudo service nfs-kernel-server resta