一、简介
which命令用于查找命令文件,它可以快速的搜索可执行文件所在的目录。如果想找可执行文件,which命令是最快速的选择之一,但需要注意的是这些可执行文件,需要有对应的$PATH配置,才能被which命令搜索到,否则是搜索不到的。
二、语法
语法:which [参数] [文件]
参数说明:
-v(V):显示版本信息。
--help:显示帮助信息。
三、实战
1、查看某一个命令所在的位置
[root@Milvus ~]# which java/usr/bin/java
2、查看多个命令所在的位置
[root@Milvus ~]# which java cd/usr/bin/java/usr/bin/cd
find、locate、whereis和which都是查找对应的文件,它们4个区别如下:
特性 | which | whereis | locate | find |
搜索目标 | 可执行文件 | 命令相关文件 | 所有文件 | 所有文件 |
原理 | PATH环境变量 | 预定义目录 | 文件数据库 | 实时遍历 |
实时性 | 实时 | 实时 | 非实时 | 实时 |
速度 | 极快 | 极快 | 最快 | 较慢 |
功能 | 简单 | 简单 | 中行 | 强大且复杂 |
使用场景 | 确定查找哪个命令 | 查找命令所有组件 | 快速搜索文件 | 精确条件搜索 |
总之一句话:简单查找命令用which/whereis,快速查文件用locate,精确复杂搜索用find。