Linux系统之whereis命令的基本使用

Linux系统之whereis命令的基本使用

  • 一、whereis命令介绍
  • 二、whereis命令的使用帮助
    • 2.1 whereis命令的帮助信息
    • 2.2 whereis命令帮助解释
  • 三、whereis命令的基本使用
    • 3.1 查找命令的位置
    • 3.2 仅查找二进制文件
    • 3.3 仅查找手册页
    • 3.4 输出实际使用的查找路径
    • 3.5 指定自定义搜索路径
  • 四、注意事项

在这里插入图片描述

一、whereis命令介绍

whereis 命令在 Linux 系统中用于查找二进制文件、源代码文件和帮助手册页的位置。它主要搜索标准的可执行文件路径、特定配置文件路径以及手册页路径,对于定位系统命令或工具非常有用。

二、whereis命令的使用帮助

2.1 whereis命令的帮助信息

在命令行终端中,我们使用-h选项查询whereis命令的基本帮助信息。

[root@openEuler ~]# whereis  -h

Usage:
 whereis [options] [-BMS <dir>... -f] <name>

Locate the binary, source, and manual-page files for a command.

Options:
 -b         search only for binaries
 -B <dirs>  define binaries lookup path
 -m         search only for manuals and infos
 -M <dirs>  define man and info lookup path
 -s         search only for sources
 -S <dirs>  define sources lookup path
 -f         terminate <dirs> argument list
 -u         search for unusual entries
 -g         interpret name as glob (pathnames pattern)
 -l         output effective lookup paths

 -h, --help     display this help
 -V, --version  display version

For more details see whereis(1).

2.2 whereis命令帮助解释

用法:

whereis [选项] [-BMS <目录>... -f] <名称>

命令功能:

  • 查找命令的二进制文件、源文件和手册页文件的位置。

选项说明:

  • -b:仅查找二进制文件。
  • -B <目录>:指定查找二进制文件的路径。
  • -m:仅查找手册页和信息文件。
  • -M <目录>:指定查找手册页和信息文件的路径。
  • -s:仅查找源代码文件。
  • -S <目录>:指定查找源代码文件的路径。
  • -f:表示目录参数列表的结束。
  • -u:查找不符合常规的条目,即那些没有对应的二进制文件、手册页或源文件的项目。
  • -g:将名称解释为路径名模式(globbing pattern)。
  • -l:输出实际使用的查找路径。

帮助和版本信息:

  • -h, --help:显示帮助信息。
  • -V, --version:显示版本信息。

三、whereis命令的基本使用

3.1 查找命令的位置

查找 httpd的位置,包括其二进制文件、源码文件和手册页。

[root@openEuler ~]# whereis httpd
httpd: /usr/sbin/httpd /usr/lib64/httpd /etc/httpd /usr/share/httpd /usr/share/man/man8/httpd.8.gz

3.2 仅查找二进制文件

可以使用 -b 选项,仅查找二进制文件。

[root@openEuler ~]# whereis -b httpd
httpd: /usr/sbin/httpd /usr/lib64/httpd /etc/httpd /usr/share/httpd

3.3 仅查找手册页

可以使用 -m 选项,查看httpd的手册页。

[root@openEuler ~]# whereis -m httpd
httpd: /usr/share/man/man8/httpd.8.gz

3.4 输出实际使用的查找路径

使用-l选项,输出实际使用的查找路径,如下所示:

[root@openEuler ~]# whereis -l
bin: /usr/bin
bin: /usr/sbin
bin: /usr/lib
bin: /usr/lib64
bin: /etc
bin: /usr/games
bin: /usr/local/bin
bin: /usr/local/sbin
bin: /usr/local/etc
bin: /usr/local/lib
bin: /usr/local/games
bin: /usr/include
bin: /usr/local
bin: /usr/libexec
bin: /usr/share
bin: /opt/containerd/bin
man: /usr/share/man/es
man: /usr/share/man/man0p
man: /usr/share/man/zh_CN
man: /usr/share/man/da
man: /usr/share/man/man9
man: /usr/share/man/man4x
man: /usr/share/man/man3
man: /usr/share/man/man5x
man: /usr/share/man/man6x
man: /usr/share/man/pt
man: /usr/share/man/man6
man: /usr/share/man/mann
man: /usr/share/man/tr.UTF-8
man: /usr/share/man/man7x
man: /usr/share/man/it
man: /usr/share/man/man7
man: /usr/share/man/cs
man: /usr/share/man/man8
man: /usr/share/man/man1x
man: /usr/share/man/nl
man: /usr/share/man/tr
man: /usr/share/man/uk
man: /usr/share/man/man8x
man: /usr/share/man/ru
man: /usr/share/man/sv
man: /usr/share/man/pl
man: /usr/share/man/man3p
man: /usr/share/man/man2
man: /usr/share/man/man4
man: /usr/share/man/tr.ISO8859-9
man: /usr/share/man/id
man: /usr/share/man/man1p
man: /usr/share/man/sr
man: /usr/share/man/ja
man: /usr/share/man/man2x
man: /usr/share/man/man5
man: /usr/share/man/ro
man: /usr/share/man/man9x
man: /usr/share/man/de
man: /usr/share/man/sk
man: /usr/share/man/ko
man: /usr/share/man/man3x
man: /usr/share/man/pt_BR
man: /usr/share/man/fr
man: /usr/share/man/ca
man: /usr/share/man/man1
man: /usr/share/info
src: /usr/src/debug
src: /usr/src/kernels

3.5 指定自定义搜索路径

如果有特定的路径想要搜索,可以使用 -B, -M, 或 -S 来定义这些路径。例如,要在一个非标准目录/root/node-v14.17.0-linux-x64/bin 中查找node 的二进制文件:

[root@openEuler ~]# whereis -B /root/node-v14.17.0-linux-x64/bin  -b node
node: /root/node-v14.17.0-linux-x64/bin/node

四、注意事项

  1. 使用 -b, -m, 或 -s 选项可分别限制搜索仅限于二进制文件、手册页或源代码文件。
  2. 如果要查找非标准位置的文件,请结合 -B, -M, 或 -S 选项自定义搜索路径。
  3. 当命令未找到预期的结果时,可能是因为程序不是从标准路径安装的,考虑使用 findlocate 命令代替。
  4. 使用 -u 选项可以帮助发现那些缺少了通常应关联的文件(如手册页或二进制)的不寻常条目。
  5. 对于有多个版本或同名但不同用途的命令,whereis 可能会列出所有匹配项,注意甄别所需的具体路径。
  6. 记住 whereis 不会搜索 $PATH 环境变量中定义的所有路径,它有一套自己的默认搜索路径。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/964178.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

CH340G上传程序到ESP8266-01(S)模块

文章目录 概要ESP8266模块外形尺寸模块原理图模块引脚功能 CH340G模块外形及其引脚模块引脚功能USB TO TTL引脚 程序上传接线Arduino IDE 安装ESP8266开发板Arduino IDE 开发板上传失败上传成功 正常工作 概要 使用USB TO TTL&#xff08;CH340G&#xff09;将Arduino将程序上传…

整形的存储形式和浮点型在计算机中的存储形式

在计算机科学的底层世界里&#xff0c;数据存储是基石般的存在。不同数据类型&#xff0c;如整形与浮点型&#xff0c;其存储方式犹如独特的密码&#xff0c;隐藏着计算机高效运行的秘密。理解它们&#xff0c;是深入掌握编程与计算机原理的关键。 一、整形的存储形式 原码、反…

无人机PX4飞控 | PX4源码添加自定义uORB消息并保存到日志

PX4源码添加自定义uORB消息并保存到日志 0 前言 PX4的内部通信机制主要依赖于uORB&#xff08;Micro Object Request Broker&#xff09;&#xff0c;这是一种跨进程的通信机制&#xff0c;一种轻量级的中间件&#xff0c;用于在PX4飞控系统的各个模块之间进行高效的数据交换…

QMK启用摇杆和鼠标按键功能

虽然选择了触摸屏&#xff0c;我仍选择为机械键盘嵌入摇杆模块&#xff0c;这本质上是对"操作连续性"的执着。   值得深思的是&#xff0c;本次开发过程中借助DeepSeek的代码生成与逻辑推理&#xff0c;其展现的能力已然颠覆传统编程范式&#xff0c;需求描述可自动…

Rust 所有权特性详解

Rust 所有权特性详解 Rust 的所有权系统是其内存安全的核心机制之一。通过所有权规则&#xff0c;Rust 在编译时避免了常见的内存错误&#xff08;如空指针、数据竞争等&#xff09;。本文将从堆内存与栈内存、所有权规则、变量作用域、String 类型、内存分配、所有权移动、Cl…

基于深度学习的视觉检测小项目(十七) 用户管理后台的编程

完成了用户管理功能的阶段。下一阶段进入AI功能相关。所有的资源见文章链接。 补充完后台代码的用户管理界面代码&#xff1a; import sqlite3from PySide6.QtCore import Slot from PySide6.QtWidgets import QDialog, QMessageBoxfrom . import user_manage # 导入使用ui…

ubuntuCUDA安装

系列文章目录 移动硬盘制作Ubuntu系统盘 前言 根据前篇“移动硬盘制作Ubuntu系统盘”安装系统后&#xff0c;还不能够使用显卡。 如果需要使用显卡&#xff0c;还需要进行相关驱动的安装&#xff08;如使用的为Nvidia显卡&#xff0c;就需要安装相关的Nvidia显卡驱动&#xff…

Docker Compose的使用

文章首发于我的博客&#xff1a;https://blog.liuzijian.com/post/docker-compose.html 目录 Docker Compose是什么Docker Compose安装Docker Compose文件Docker Compose常用命令案例&#xff1a;部署WordPress博客系统 Docker Compose是什么 Docker Compose是Docker官方的开源…

【深度分析】DeepSeek 遭暴力破解,攻击 IP 均来自美国,造成影响有多大?有哪些好的防御措施?

技术铁幕下的暗战&#xff1a;当算力博弈演变为代码战争 一场针对中国AI独角兽的全球首例国家级密码爆破&#xff0c;揭开了数字时代技术博弈的残酷真相。DeepSeek服务器日志中持续跳动的美国IP地址&#xff0c;不仅是网络攻击的地理坐标&#xff0c;更是技术霸权对新兴挑战者的…

使用python实现与本地ollama部署的deepseek对话

专栏总目录 按照ollama官方doc的example操作&#xff0c;没有成功与本地ollama上的deepseek-r1:1.5b通讯后&#xff0c;发现vscode可以调用本地ollama上的deepseek模型。 为了实现与ollama上的deepseek模型通讯&#xff0c;我使用wireshark对本地回环地址进行侦听后&#xff0c…

基于STM32的智能健康监测手环

1. 引言 随着可穿戴设备的普及&#xff0c;健康监测技术正逐步融入日常生活。本文设计了一款基于STM32的智能健康监测手环&#xff0c;能够实时采集用户心率、血氧饱和度、体温及运动数据&#xff0c;并通过低功耗蓝牙&#xff08;BLE&#xff09;与手机APP交互。该系统结合了…

OpenGL学习笔记(六):Transformations 变换(变换矩阵、坐标系统、GLM库应用)

文章目录 向量变换使用GLM变换&#xff08;缩放、旋转、位移&#xff09;将变换矩阵传递给着色器坐标系统与MVP矩阵三维变换绘制3D立方体 & 深度测试&#xff08;Z-buffer&#xff09;练习1——更多立方体 现在我们已经知道了如何创建一个物体、着色、加入纹理。但它们都还…

麦芯(MachCore)应用开发教程5 --- 工位和晶圆传输

麦芯是构建在windows系统上的设备应用操作系统&#xff0c;利用该系统可以快速高效的开发一款设备专用软件。希望进一步了解请email: acloud163.com 黄国强 2025/02/03 一、工位与子设备的关系 想象工厂中的流水线工作站&#xff0c;每个工位&#xff08;Station&#xff09…

冰蝎v3.0 beta7来啦

我用了一台kali&#xff0c;一台centos&#xff0c;一台windows&#xff0c;做了一个文件上传和一个反弹shell实验&#xff0c;载荷是AES加密的&#xff0c;终于感受到了对加密流量的无可奈何~ kali&#xff08;php8.1&#xff09;centos&#xff08;php7.1&#xff09;window…

Golang 并发机制-5:详解syn包同步原语

并发性是现代软件开发的一个基本方面&#xff0c;Go&#xff08;也称为Golang&#xff09;为并发编程提供了一组健壮的工具。Go语言中用于管理并发性的重要包之一是“sync”包。在本文中&#xff0c;我们将概述“sync”包&#xff0c;并深入研究其最重要的同步原语之一&#xf…

【PyQt】超级超级笨的pyqt计算器案例

计算器 1.QT Designer设计外观 1.pushButton2.textEdit3.groupBox4.布局设计 2.加载ui文件 导入模块&#xff1a; sys&#xff1a;用于处理命令行参数。 QApplication&#xff1a;PyQt5 应用程序类。 QWidget&#xff1a;窗口基类。 uic&#xff1a;用于加载 .ui 文件。…

Flutter Scaffold 页面结构

Material是一套设计风格&#xff0c;提供了大量的小部件&#xff0c;这里用Material风格搭建一个常见的应用页面结构。 创建Material应用 import package:flutter/material.dart;class App extends StatelessWidget {overrideWidget build(BuildContext context) {return Mat…

2月3日星期一今日早报简报微语报早读

2月3日星期一&#xff0c;农历正月初六&#xff0c;早报#微语早读。 1、多个景区发布公告&#xff1a;售票数量已达上限&#xff0c;请游客合理安排行程&#xff1b; 2、2025春节档总票房破70亿&#xff0c;《哪吒之魔童闹海》破31亿&#xff1b; 3、美宣布对中国商品加征10…

大模型本地化部署(Ollama + Open-WebUI)

文章目录 环境准备下载Ollama模型下载下载Open-WebUI 本地化部署的Web图形化界面本地模型联网查询安装 Docker安装 SearXNG本地模型联网查询 环境准备 下载Ollama 下载地址&#xff1a;Ollama网址 安装完成后&#xff0c;命令行里执行命令 ollama -v查看是否安装成功。安装成…

10 Flink CDC

10 Flink CDC 1. CDC是什么2. CDC 的种类3. 传统CDC与Flink CDC对比4. Flink-CDC 案例5. Flink SQL 方式的案例 1. CDC是什么 CDC 是 Change Data Capture&#xff08;变更数据获取&#xff09;的简称。核心思想是&#xff0c;监测并捕获数据库的变动&#xff08;包括数据或数…