1、echo $JAVA_HOME

使用 echo $JAVA_HOME 命令可以定位到Java安装路径,但是前提是配置了环境变量$JAVA_HOME,否则还是定位不到,如下所示:

[root@YIWEI ~]# echo $JAVA_HOME
/usr/local/java11
[root@YIWEI ~]# java -version
java version "1.8.0_162"
Java(TM) SE Runtime Environment (build 1.8.0_162-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.162-b12, mixed mode)
[root@YIWEI ~]# 
[root@YIWEI ~]# 

2、which java

首先输入命令行,查看结果:

[root@YIWEI ~]# which java
/apps/base/jdk/bin/java
[root@YIWEI ~]# 

PS:which Java是无法定位到Java的安装路径的,只能定位到执行路径;whereis Java也无法定位,只能展示一部分的Java路径,如下所示:

[root@YIWEI ~]# whereis java
java: /usr/share/java /apps/base/jdk/bin/java
[root@YIWEI ~]# 

3、rpm -qa | grep java

如果JDK是源码安装,那么rpm -qa | grep java命令也是定位不到的jdk的安装路径的,比如我是用的yum命令安装,使用rpm -qa | grep java命令的话,结果如下所示:

[root@localhost ~]# rpm -qa | grep java
javapackages-tools-3.4.1-11.el7.noarch
java-1.8.0-openjdk-headless-1.8.0.161-0.b14.el7_4.x86_64
tzdata-java-2018d-1.el7.noarch
java-1.8.0-openjdk-devel-1.8.0.161-0.b14.el7_4.x86_64
java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64
java-1.7.0-openjdk-1.7.0.171-2.6.13.0.el7_4.x86_64
python-javapackages-3.4.1-11.el7.noarch
java-1.7.0-openjdk-headless-1.7.0.171-2.6.13.0.el7_4.x86_64
[root@localhost ~]#

4、ls -lrt

先了解下ls命令:

-a 显示所有文件及目录 (ls内定将文件名或目录名称开头为"."的视为隐藏档,不会列出) 
-l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出 
-r 将文件以相反次序显示(原定依英文字母次序) 
-t 将文件依建立时间之先后次序列出 
-A 同 -a ,但不列出 "." (目前目录) 及 ".." (父目录) 
-F 在列出的文件名称后加一符号;例如可执行档则加 "*", 目录则加 "/" 
-R 若目录下有文件,则以下之文件亦皆依序列出

根据上面的命令,我们可以执行如下命令,找到JDK的安装路径():

[root@localhost ~]# ls -lrt /usr/bin/java
lrwxrwxrwx. 1 root root 22 713 2022 /usr/bin/java -> /etc/alternatives/java
[root@localhost ~]# ls -lrt /etc/alternatives/java
lrwxrwxrwx. 1 root root 73 713 2022 /etc/alternatives/java -> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-1.el7_9.x86_64/jre/bin/java
[root@localhost ~]# 
[root@localhost ~]# cd /usr/lib/jvm
[root@localhost jvm]# ll
总用量 0
drwxr-xr-x. 4 root root 100 713 2022 java-1.7.0-openjdk-1.7.0.261-2.6.22.2.el7_8.x86_64
drwxr-xr-x. 3 root root  17 713 2022 java-1.8.0-openjdk-1.8.0.332.b09-1.el7_9.x86_64
lrwxrwxrwx. 1 root root  21 713 2022 jre -> /etc/alternatives/jre
lrwxrwxrwx. 1 root root  27 713 2022 jre-1.7.0 -> /etc/alternatives/jre_1.7.0
lrwxrwxrwx. 1 root root  35 713 2022 jre-1.7.0-openjdk -> /etc/alternatives/jre_1.7.0_openjdk
lrwxrwxrwx. 1 root root  54 713 2022 jre-1.7.0-openjdk-1.7.0.261-2.6.22.2.el7_8.x86_64 -> java-1.7.0-openjdk-1.7.0.261-2.6.22.2.el7_8.x86_64/jre
lrwxrwxrwx. 1 root root  27 713 2022 jre-1.8.0 -> /etc/alternatives/jre_1.8.0
lrwxrwxrwx. 1 root root  35 713 2022 jre-1.8.0-openjdk -> /etc/alternatives/jre_1.8.0_openjdk
lrwxrwxrwx. 1 root root  51 713 2022 jre-1.8.0-openjdk-1.8.0.332.b09-1.el7_9.x86_64 -> java-1.8.0-openjdk-1.8.0.332.b09-1.el7_9.x86_64/jre
lrwxrwxrwx. 1 root root  29 713 2022 jre-openjdk -> /etc/alternatives/jre_openjdk
[root@localhost jvm]# 

ls -lrt解析:即将文件以建立时间先后顺序的倒叙排列显示,从上面的结果可以看出,/usr/bin/java是执行路径,那么继续执行后面的文件路径,即可找到JDK的安装路径为/usr/lib/jvm/java-1.8.0。

![在这里插入图片描述](https://img-blog.csdnimg.cn/11dcde2690384843a2119c19109592ac.png在这里插入图片描述

PS:上面提到的几种方法,适用于安装在Linux上的软件查询路径使用(并不仅仅限于查找JDK安装路径),请选择合适的方法

参考链接: https://cloud.tencent.com/developer/article/1455744

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐