which 命令在Linux中是一个快速查找可执行文件位置的工具

文章目录

  • 0、概念
  • 1、which --help
  • 2、which命令解释

0、概念

  • which命令用于查找命令的可执行文件的路径
  • which 命令在 Linux 中用于查找可执行命令的完整路径。当你在 shell 中输入一个命令时,shell 会在环境变量 $PATH 定义的目录列表中查找这个命令。which 命令可以帮助你确定系统将执行哪个可执行文件
  • which命令在Linux中的用法是用于查找并显示指定命令的完整路径。它会在系统的PATH环境变量中搜索指定的命令,并返回第一个匹配的命令的完整路径。
  • 在Linux系统中,which命令用于查找指定命令的绝对路径。它会在环境变量PATH中搜索指定的命令,并返回找到的第一个匹配项的完整路径
  • 在Linux系统中,which 命令用于显示可执行文件的位置。当你在命令行中输入一个命令时,which 会告诉你这个命令的可执行文件位于哪个目录。这对于确定系统上安装了哪些程序以及它们的具体位置非常有用。
  • which 命令是一个快速查找可执行文件位置的工具,对于系统管理员和开发者来说非常有用。
  • 请注意,which 命令只能找到已安装且可执行的文件。如果找不到某个命令,可能是因为该命令未安装,或者不在系统的 PATH 变量中
  • which 命令仅搜索在 $PATH 环境变量中定义的目录。
  • 在某些情况下,which 命令可能不会找到通过shell函数或别名定义的命令。
which command_name

这里的 command_name 是你想要查找的命令名称。
命令名:要查找的可执行文件的名称。

1、which --help

[root@iZuf6332h890vozldoxcprZ sbin]# which --help
Usage: /usr/bin/which [options] [--] COMMAND [...]
Write the full path of COMMAND(s) to standard output.--version, -[vV] Print version and exit successfully.--help,          Print this help and exit successfully.--skip-dot       Skip directories in PATH that start with a dot.--skip-tilde     Skip directories in PATH that start with a tilde.--show-dot       Don't expand a dot to current directory in output.--show-tilde     Output a tilde for HOME directory for non-root.--tty-only       Stop processing options on the right if not on tty.--all, -a        Print all matches in PATH, not just the first--read-alias, -i Read list of aliases from stdin.--skip-alias     Ignore option --read-alias; don't read stdin.--read-functions Read shell functions from stdin.--skip-functions Ignore option --read-functions; don't read stdin.Recommended use is to write the output of (alias; declare -f) to standard
input, so that which can show aliases and shell functions. See which(1) for
examples.If the options --read-alias and/or --read-functions are specified then the
output can be a full alias or function definition, optionally followed by
the full path of each command used inside of those.Report bugs to <which-bugs@gnu.org>.

2、which命令解释

which 命令在 Linux 中用于查找并显示指定命令的绝对路径。你通过运行 which --help 获得的帮助信息非常详细,下面我会对这些选项进行简要解释,以便你更好地理解它们的作用:

  • --version, -[vV]: 显示 which 命令的版本信息并正常退出。
  • --help: 显示帮助信息,即你当前看到的这个页面,然后正常退出。
  • --skip-dot: 在搜索 PATH 环境变量时,跳过以点(.)开头的目录。这通常用于忽略当前目录(. 表示当前目录)。
  • --skip-tilde: 在搜索 PATH 环境变量时,跳过以波浪线(~)开头的目录。这通常用于忽略用户的主目录(~ 通常代表用户的主目录)。
  • --show-dot: 在输出结果中,不将点(.)扩展为当前目录的完整路径。
  • --show-tilde: 对于非 root 用户,如果命令位于其主目录中,则在输出中使用波浪线(~)代替完整的主目录路径。
  • --tty-only: 如果不是在终端(tty)上运行,则停止处理右侧的选项。这通常用于脚本或批处理模式中,以确保只有在交互式终端会话中才处理某些选项。
  • --all, -a: 显示 PATH 环境变量中所有匹配的命令路径,而不仅仅是第一个找到的路径。
  • --read-alias, -i: 从标准输入读取别名列表。这允许 which 检查别名,并可能显示别名指向的命令的完整路径。
  • --skip-alias: 忽略 --read-alias 选项,不从标准输入读取别名。
  • --read-functions: 从标准输入读取 shell 函数定义。这允许 which 检查函数,并可能显示函数内部使用的命令的完整路径。
  • --skip-functions: 忽略 --read-functions 选项,不从标准输入读取函数。

推荐的使用方式是将 (alias; declare -f) 命令的输出写入标准输入,这样 which 可以显示别名和 shell 函数的完整路径。例如,你可以通过管道将 (alias; declare -f) 的输出传递给 which,但请注意,which 本身并不直接支持这样的用法;这里提到的推荐用法更多是一种概念上的指导,实际上你可能需要结合其他工具(如 grepawk 等)来实现类似的功能。

最后,如果你在使用 which 命令时遇到任何问题或发现任何 bug,可以向 <which-bugs@gnu.org> 报告。

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

React基础学习-Day06

React基础学习-Day06 zustand基本使用方式 1.基础使用 基本使用 zustand 的步骤包括创建状态存储和在组件中使用这些状态和更新函数。以下是一个基础的示例&#xff0c;演示如何使用 zustand 来管理一个简单的计数器状态。 安装 首先&#xff0c;确保你的项目中已经安装了…

socket编程(2) -- TCP通信

TCP通信 2. 使用 Socket 进行TCP通信2.1 socket相关函数介绍socket()bind()listen()accept()connect()2.2 TCP协议 C/S 模型基础通信代码 最后 2. 使用 Socket 进行TCP通信 Socket通信流程图如下&#xff1a; 这里服务器段listen是监听socket套接字的监听文件描述符。如果客户…

Redis--布隆过滤器

解决缓存穿透是构建高效缓存系统中的关键问题之一。缓存穿透指的是恶意或者非法请求经过缓存层直接访问数据库或者后端服务&#xff0c;导致系统资源浪费和性能下降的情况。为了有效应对缓存穿透问题&#xff0c;以下是几种常见的解决方法&#xff1a; 1. 布隆过滤器预检查 布…

运维-Docker-黑马

运维-Docker-黑马 编辑时间&#xff1a;2024/7/15 来源&#xff1a;黑马程序员 docker&#xff1a;快速构建&#xff0c;运行&#xff0c;管理应用的工具 Docker安装 部署mysql 命令解读

[Cesium for Supermap] 加载3dTiles,点击获取属性

代码&#xff1a; // 设为椭球var obj [6378137.0, 6378137.0, 6356752.3142451793];Cesium.Ellipsoid.WGS84 Object.freeze(new Cesium.Ellipsoid(obj[0], obj[1], obj[2]));var viewer new Cesium.Viewer(cesiumContainer);var scene viewer.scenescene.lightSource.ambi…

Oracle TDE(Transparent Data Encryption) 常见问题解答 - 官网

此FAQ来源于官网链接。此为新版&#xff0c;老版的博客参见Oracle TDE(Transparent Data Encryption) 常见问题解答。 通用问题 透明数据加密 (TDE) 提供什么功能&#xff1f; TDE 以透明方式加密 Oracle 数据库中的静态数据。它可以阻止操作系统未经授权尝试访问存储在文件…

彻底改变时尚:使用 GAN 实现 AI 的未来

彻底改变时尚&#xff1a;使用 GAN 实现 AI 的未来 一、介绍 想象一下&#xff0c;在这个世界里&#xff0c;时装设计师永远不会用完新想法&#xff0c;我们穿的每一件衣服都是一件艺术品。听起来很有趣&#xff0c;对吧&#xff1f;好吧&#xff0c;我们可以在通用对抗网络 &a…

鸿蒙基本工程目录

工程级目录 AppScope 中存放应用全局所需要的资源文件。entry 是应用的主模块&#xff0c;存放 HarmonyOS 应用的代码、资源等。oh_modules 是工程的依赖包&#xff0c;存放工程依赖的源文件。build-profile.json5 是工程级配置信息&#xff0c;包括签名、产品配置等。hvigorf…

品牌产业出海指南如何搭建国际化架构的跨境电商平台?

在“品牌&产业出海指南 – 成功搭建跨境电商平台”系列中&#xff0c;我们将从电商分销系统、跨境平台商城/多商户商城系统和国际化架构三个方面对帮助您梳理不同平台模式的优缺点、应用场景、开发重点和运营建议。 在“品牌&产业出海指南 – 成功搭建跨境电商平台”系…

【漏洞复现】Rejetto HTTP文件服务器——远程命令执行(CVE-2024-23692)

声明&#xff1a;本文档或演示材料仅供教育和教学目的使用&#xff0c;任何个人或组织使用本文档中的信息进行非法活动&#xff0c;均与本文档的作者或发布者无关。 文章目录 漏洞描述漏洞复现测试工具 漏洞描述 Rejetto HTTP文件服务器是一个轻量级的HTTP服务器软件&#xff…

VBA学习(20):一批简单的Excel VBA编程问题解答

1.如何确定单元格区域内的行数和列数&#xff1f; 使用Range.Rows.Count和Range.Columns.Count属性。 2.Application.Columns指的是什么&#xff1f; 活动工作表中的列。 3.你的程序在列B位置插入一个新列&#xff0c;原来的列B会怎样&#xff1f; 它向右移动成为列C。 4.假…

vue项目1分钟实现自定义右键菜单,懒人的福音

高效实现需求&#xff0c;避免重复造轮子&#xff0c;今天给大家分享的是&#xff0c;如何在最短的时间内实现右键菜单&#xff0c;方法也很简单&#xff0c;一个插件就可以搞定&#xff0c;话不多说&#xff0c;上效果图&#xff1a; 1. 效果图&#xff1a; 2. 安装&#xff…

5. 基于Embedding实现超越elasticsearch高级搜索

Embedding介绍 Embedding是向量的意思&#xff0c;向量可以理解为平面坐标中的一个坐标点(x,y),在编程领域&#xff0c;一个二维向量就是一个大小为float类型的数组。也可以用三维坐标系中的向量表示一个空间中的点。在机器学习中&#xff0c;向量通常用于表示数据的特征。 向量…

SCI丨中三区

无线网络遥感图像和视频处理技术在xxxxx析基于智能物联网的xxxxx养老模式可持续发展基于心理行为大数据分类算法xxxxxx研究基于云计算xxxxx行为分析及客户感知体系的构建基于机器学习的xxxxx金钢时效行为研究 基于机器视觉的xxxxx检测系统研究 机器学习的电子显微镜xxxxx材料的…

探索Laravel的视图组件与插槽:构建动态且可复用的UI

探索Laravel的视图组件与插槽&#xff1a;构建动态且可复用的UI 引言 Laravel作为一个现代化的PHP框架&#xff0c;提供了许多强大的功能来帮助开发者构建高性能和可维护的Web应用。其中&#xff0c;视图组件&#xff08;View Components&#xff09;和插槽&#xff08;Slots…

【React Hooks原理 - forwardRef、useImperativeHandle】

概述 上文我们聊了useRef的使用和实现&#xff0c;主要两个用途&#xff1a;1、用于持久化保存 2、用于绑定dom。 但是有时候我们需要在父组件中访问子组件的dom或者属性/方法&#xff0c;而React中默认是不允许父组件直接访问子组件的dom的&#xff0c;这时候就可以通过forwa…

数据库SQL Server列拼接Join和Union

文章目录 JOINJOIN的基本语法如下&#xff1a; UNIONUNION的基本语法如下&#xff1a; 在 SQL Server中&#xff0c; JOIN和 UNION是两种不同的操作&#xff0c;它们用于合并来自两个或多个表的数据。 JOIN JOIN操作用于将两个或多个表中的行结合起来&#xff0c;基于它们之…

Jmeter二次开发Demo

Jmeter二次开发Demo 前言 在上一集&#xff0c;我们已经完成了JMX脚本的分析&#xff0c;大致了解了JMX脚本的基本元素。 那么在这一集&#xff0c;我们将会介绍一下Jmeter二次开发的Demo。 Demo代码 那么话不多说&#xff0c;我们就直接上代码。 public class TestStress…

SpringBoot+HttpClient实现文件上传下载

服务端&#xff1a;SpringBoot Controller package com.liliwei.controller;import java.io.File; import java.io.FileInputStream; import java.io.IOException;import javax.servlet.http.HttpServletResponse;import org.springframework.http.HttpHeaders; import org.s…

Cesium 判断位置是否在当前视口范围内

详细步骤都在注释里,不过多赘述了。 /*** @param {Object} position - Cartesian3坐标* @return {Boolean} 是否在视口中*/ function isPositionInViewport(position) {// 获取当前视口范围let viewport = viewer.camera.computeViewRectangle();// 2D模式下拾取不到坐标,vi…