Linux 常用命令 - which【定位可执行文件的位置】

160 阅读1分钟

简介

which 命令源自于英文单词 "which",用于在环境变量 PATH 所指定的路径中搜索某个可执行文件或链接(如一个系统命令)的位置,并返回第一个搜索结果。这个命令会遍历 PATH 环境变量中的所有路径,直到找到指定的可执行文件。

使用方式

which [参数] [命令名]...

常用选项

  • -a:显示所有匹配的路径。

退出状态

  • 0:所有指定的命令都找到并且是可执行的。
  • 1:存在一个或多个指定的命令是不存在或不可执行的。
  • 2:指定了一个无效的选项。

参考示例

1. 定位 ls 命令的位置

which ls

定位 ls 命令的第一个存储路径:

jay@jaylinuxlenovo:~/test$ which ls
/usr/bin/ls

2. 显示 node 命令的所有匹配路径

which -a node

使用 -a 选项可以显示所有存储有 node 命令的路径:

jay@jaylinuxlenovo:~/test$ which -a node
/usr/local/bin/node
/usr/bin/node
/bin/node

注意事项

  • which 命令只会搜索环境变量 PATH 中定义的路径,如果某个命令不在 PATH 中,那么 which 将找不到它。
  • 有些 shell 内建命令或函数不会被 which 命令检测到,因为它们不是独立的文件。
  • 在某些系统中,which 命令可能不是预装的,需要自行安装。