欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 产业 > Linux系统之which命令的基本使用

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

2025/2/25 14:13:36 来源:https://blog.csdn.net/jks212454/article/details/142740320  浏览:    关键词:Linux系统之which命令的基本使用

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

  • 一、which命令介绍
  • 二、which命令的使用帮助
    • 2.1 which命令的基本语法
    • 2.2 which命令的帮助解释
  • 三、which命令的基本使用
    • 3.1 检查实践环境
    • 3.2查找一个命令的可执行文件位置
    • 3.3 检查某程序是否安装
    • 3.4 命令目录简介
  • 四、注意事项

在这里插入图片描述

一、which命令介绍

which 命令是Linux和Unix系统中的一个非常实用的工具,它用来查找并显示给定命令的完整路径。这对于确定哪个版本的程序将被执行或确认某个命令是否在系统的PATH环境变量中可用特别有用。

二、which命令的使用帮助

2.1 which命令的基本语法

在命令行终端中,我们使用--help查询which命令的基本帮助信息。

[root@RockyLinux-server001 ~]# 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.2 which命令的帮助解释

选项描述
--version, -v, -V显示版本信息并成功退出。
--help显示帮助信息并退出。
--skip-dot跳过PATH中以点(.)开头的目录。
--skip-tilde跳过PATH中以波浪号(~)开头的目录。
--show-dot不要在输出中将点(.)扩展为当前目录。
--show-tilde对于非root用户,在输出中使用波浪号表示家目录。
--tty-only如果不在TTY上,则停止处理右侧的选项。
--all, -a打印PATH中的所有匹配项,而不仅仅是第一个。
--read-alias, -i从标准输入读取别名列表。
--skip-alias忽略--read-alias选项;不读取标准输入。
--read-functions从标准输入读取shell函数。
--skip-functions忽略--read-functions选项;不读取标准输入。

三、which命令的基本使用

3.1 检查实践环境

  • 检查操作系统版本
[root@RockyLinux-server001 ~]# cat /etc/os-release
NAME="Rocky Linux"
VERSION="9.4 (Blue Onyx)"
ID="rocky"
ID_LIKE="rhel centos fedora"
VERSION_ID="9.4"
PLATFORM_ID="platform:el9"
PRETTY_NAME="Rocky Linux 9.4 (Blue Onyx)"
ANSI_COLOR="0;32"
LOGO="fedora-logo-icon"
CPE_NAME="cpe:/o:rocky:rocky:9::baseos"
HOME_URL="https://rockylinux.org/"
BUG_REPORT_URL="https://bugs.rockylinux.org/"
SUPPORT_END="2032-05-31"
ROCKY_SUPPORT_PRODUCT="Rocky-Linux-9"
ROCKY_SUPPORT_PRODUCT_VERSION="9.4"
REDHAT_SUPPORT_PRODUCT="Rocky Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="9.4"
  • 检查内核版本
[root@RockyLinux-server001 ~]# uname -r
5.14.0-427.13.1.el9_4.x86_64

3.2查找一个命令的可执行文件位置

这条命令会输出ls命令所在的完整路径,例如:/usr/bin/ls。which 命令依据用户配置的 PATH 环境变量中的目录来搜索可执行文件。因此,不同的 PATH 配置会导致找到的命令位置不同。

[root@RockyLinux-server001 ~]# which ls
alias ls='ls --color=auto'/usr/bin/ls

3.3 检查某程序是否安装

如果你想知道你的系统上是否安装了某个特定的软件包,如果返回了路径,则表示已安装;如果没有任何输出,则可能意味着该命令未被找到(即没有安装)。

[root@RockyLinux-server001 ~]# which tree
/usr/bin/tree

3.4 命令目录简介

  • /bin: 包含系统启动和运行所必需的基本命令,这些命令对所有用户都可用。
  • /sbin: 包含系统管理员使用的系统二进制文件,主要用于系统管理和维护任务。
  • /usr/bin: 包含大部分用户级别的命令和应用程序,是 /bin 的扩展,提供更多的非核心命令。
  • /usr/sbin: 类似于 /sbin,但包含更多用户级的系统管理命令,用于扩展 /sbin 的功能。

四、注意事项

  • 命令查找范围有限:which命令主要在环境变量$PATH所设定的路径中查找可执行文件,不会查找没有添加到环境变量路径中的命令。
  • 只查找可执行文件:它仅用于查找可以直接执行的二进制文件、脚本等,对于配置文件、库文件等非可执行文件无法查找。
  • 返回第一个匹配结果:当多个同名可执行文件在$PATH的不同目录下存在时,which命令只会返回它在环境变量路径中找到的第一个匹配的文件路径。
  • 别名优先显示:如果对命令设置了别名,which命令会优先显示别名对应的文件路径,而不是原始命令的路径。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词