linux 下,咱们常使用 cd ,grep,vi 等命令,有时候咱们要查到这些命令所在的位置,如何作呢?linux
linux下有2个命令可完成该功能:which ,whereisspa
which 用来查看当前要执行的命令所在的路径。命令行
whereis 用来查看一个命令或者文件所在的路径。get
which命令的原理:在PATH变量指定的路径中,搜索某个系统命令的位置,而且返回第一个搜索结果。也就是说,使用which命令,就能够看到某个系统命令是否存在,以及执行的究竟是哪个位置的命令。it
which命令的使用实例:io
$ which grep变量
whereis命令原理:只能用于程序名的搜索,并且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。若是省略参数,则返回全部信息。原理
whereis命令的使用实例:搜索
$ whereis grep
下面举个例子来讲明。假如你的linux系统上装了多个版本的java。若是你直接在命令行敲命令 "java -version" ,会获得一个结果。可是,你知道是哪个路径下的java在执行吗?
若是想知道,能够用 which 命令:
which java
返回的是 PATH路径中第一个JAVA的位置,也就是JAVA命令默认执行的位置
若是使用命令: whereis java
那么你会获得不少条结果,由于这个命令把全部包含java(无论是文件仍是文件夹)的路径都列了出来。