简介
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命令可能不是预装的,需要自行安装。