Linux下查看软件安装路径(whereis)

本文介绍在Linux系统中如何使用whereis和which命令来查找已安装软件的具体安装路径,包括文件的存放位置及运行文件的位置。

对于刚接触LINUX的新手来说,Linux查看某 个软件的安装路径(地址)有时显得非常重要。比如某个文件的快速启动项被删除,或者你要建立快速启动项,或者想删除、 添加安装文件等等,很多地方都要用到查看文件安装路径的命令。


一、查看文件安装路径:

由于初次大部分软件的安装都是系统自动安装的,所有先说查看点击打开链接文件安装的所有路径(地址)。

这里以Subversion为例。比如说我安装了SVN,但是不知道文件都安装在哪些地方、放在哪些文件夹里,可 以用下面的命令查看所有的文件路径

在终端输入:

whereis svn

回车,如果安装好了SVN,就会显示文件安装的地址,例如我的显示(安装地址可能会不同)

 
 

可以看出来,SVN安装在是个目录里。

如果你没有安装SVN或者SVN安装没成功,则不会显示文件路径出来。只提示:

svn:

二、查询运行文件所在路径:

如果你只要查询文件的运行文件所在地址,直接用下面的命令就可以了(还是以SVN为例):

which svn

结果会显示:

/usr/bin/svn

http://blog.youkuaiyun.com/ly_feng/article/details/7898649
<think> 我们正在解决用户的问题:在Linux系统中查找Java的安装路径。根据引用内容,我们可以总结出几种方法。 引用[2]和引用[3]提供了两种不同的方法: 方法一(引用[2]):当环境变量JAVA_HOME未配置时,我们可以通过以下步骤查找: 1. 使用`which java`命令找到java可执行文件的路径。 2. 使用`ls -lrt`命令跟踪符号链接(因为`which java`得到的路径可能是一个符号链接),直到找到真正的Java安装路径。 方法二(引用[3]):如果环境变量JAVA_HOME已经配置,则可以直接通过`echo $JAVA_HOME`来查看。 另外,引用[1]和引用[4]虽然提到了Java安装路径相关的内容,但主要针对Windows安装和环境变量配置,以及Linux安装字体的方法,与当前问题关联不大。 因此,我们主要采用方法一和方法二来回答。 步骤分解: 1. 首先检查环境变量JAVA_HOME是否设置,如果设置了,则直接输出。 2. 如果没有设置,则通过`which`和`ls -lrt`逐级追踪符号链接。 注意:在Linux中,Java的安装路径可能是直接安装的JDK或者通过包管理器安装的OpenJDK,路径可能不同。 具体操作步骤如下: 方法1:使用环境变量 打开终端,输入: echo $JAVA_HOME 如果返回一个路径,那么这个路径就是Java的安装路径。 方法2:使用符号链接追踪 如果上述命令没有返回任何内容或者返回为空,则执行: which java 假设返回结果是:/usr/bin/java(可能不同) 然后使用: ls -l /usr/bin/java 输出可能类似于:/usr/bin/java -> /etc/alternatives/java 然后继续追踪: ls -l /etc/alternatives/java 输出可能类似于:/etc/alternatives/java -> /usr/lib/jvm/java-11-openjdk-amd64/bin/java 这时,我们可以看出Java的安装路径为:/usr/lib/jvm/java-11-openjdk-amd64 注意:有时追踪一次可能还不够,需要继续追踪,直到找到非符号链接的路径为止。然后去掉路径末尾的“/bin/java”即可得到安装路径。 另外,还可以使用`readlink`命令来递归追踪符号链接: readlink -f $(which java) 示例输出:/usr/lib/jvm/java-11-openjdk-amd64/bin/java 然后去掉最后的“/bin/java”即可得到安装路径:/usr/lib/jvm/java-11-openjdk-amd64 但是,注意:有些系统可能有多个Java版本(通过update-alternatives配置),所以路径追踪可能得到的是当前使用的Java版本。 为了更精确,我们还可以使用Java自带的工具: java -XshowSettings:properties -version 2>&1 | grep 'java.home' 输出会显示java.home属性,即为Java的安装路径(通常是JRE的路径,但JDK包含JRE,所以一般可以认为JDK的路径是上级目录)。 如果以上方法都不行,还可以尝试: whereis java 或者 find / -name java 2>/dev/null | grep bin/java 然后逐个检查路径。 然而,最可靠的方法还是通过环境变量和符号链接追踪。 总结步骤: 1. 首先尝试:`echo $JAVA_HOME`,如果输出非空,则该路径即为Java安装路径。 2. 如果未设置JAVA_HOME,则使用: readlink -f $(which java) 得到绝对路径,然后去掉末尾的“/bin/java”。 3. 另外,也可以使用`java -XshowSettings:properties -version 2>&1 | grep 'java.home'`来获取Java的home路径(即JRE目录),如果要找JDK,则需要看这个路径是否为JDK下的jre目录,如果是,则上级目录就是JDK目录。 4. 如果上述方法都不行,可以使用`update-alternatives --list java`(适用于配置了alternatives的系统)来查看。 我们给出一个示例代码(脚本)来获取Java安装路径: ```bash #!/bin/bash if [ -n "$JAVA_HOME" ]; then echo "Java安装路径(通过JAVA_HOME): $JAVA_HOME" exit 0 fi java_path=$(which java 2>/dev/null) if [ -z "$java_path" ]; then echo "未找到Java安装。" >&2 exit 1 fi # 使用readlink获取实际路径 real_path=$(readlink -f "$java_path") if [ -n "$real_path" ]; then # 去掉/bin/java部分 java_home=${real_path%/bin/java} if [ "$java_home" = "$real_path" ]; then # 如果去掉失败,尝试去掉最后的java(可能路径中包含了多个bin?) java_home=${real_path%java} # 去掉末尾的斜杠(如果有) java_home=${java_home%/} # 再去掉一层bin java_home=${java_home%/bin} fi echo "Java安装路径: $java_home" else echo "无法追踪符号链接。" >&2 exit 1 fi ``` 但是,由于不同的系统可能安装方式不同,这个方法可能不总是准确。因此,我们还可以结合第二种方法: ```bash java -XshowSettings:properties -version 2>&1 | grep 'java.home' | awk '{ print $3 }' ``` 这个命令会输出Java的home路径(即JRE路径),对于JDK,这个路径通常是JDK下的jre目录,所以如果我们想得到JDK的路径,可以尝试去掉`/jre`(注意,从Java 9开始,目录结构有所变化,可能没有单独的jre目录,所以直接输出的路径可能就是JDK的安装路径)。 因此,综合以上,最全面的方法是: 1. 通过环境变量JAVA_HOME。 2. 通过`java -XshowSettings:properties -version`获取java.home属性。 3. 通过符号链接追踪。 在回答中,我们列出多种方法供用户尝试。 根据引用[2]和引用[3]的内容,我们给出以下回答: </think> 在 Linux 系统中查找 Java 安装路径的常用方法如下,根据系统配置和环境变量状态可选择不同方式: ### 1. 通过 `JAVA_HOME` 环境变量(推荐) 如果已配置环境变量,直接执行: ```bash echo $JAVA_HOME ``` 输出示例:`/usr/lib/jvm/java-11-openjdk-amd64`[^3] ### 2. 追踪符号链接(未配置环境变量时) 分步定位真实路径: ```bash # 1. 查找 Java 可执行文件位置 which java # 输出示例: /usr/bin/java # 2. 追踪符号链接 ls -l /usr/bin/java # 输出示例: /usr/bin/java -> /etc/alternatives/java # 3. 继续追踪最终路径 ls -l /etc/alternatives/java # 输出示例: /etc/alternatives/java -> /usr/lib/jvm/java-11-openjdk-amd64/bin/java ``` 最终路径去掉 `/bin/java` 部分即可得到安装目录: $$\text{安装路径} = \text{完整路径} - \texttt{/bin/java}$$[^2] ### 3. 使用 `readlink` 快速追踪 合并步骤 2 的操作: ```bash readlink -f $(which java) | sed 's|/bin/java||' ``` 直接输出安装路径如:`/usr/lib/jvm/java-11-openjdk-amd64` ### 4. 通过 Java 自检命令 ```bash java -XshowSettings:properties -version 2>&1 | grep java.home ``` 输出示例: `java.home = /usr/lib/jvm/java-11-openjdk-amd64` ### 5. 搜索可能的安装目录 ```bash # 查找常见安装位置 ls /usr/lib/jvm # 或全局搜索 sudo find / -name java -type f -executable 2>/dev/null | grep bin/java ``` > **关键说明**: > 1. 方法 1 是最直接的方式,但需依赖环境变量配置[^3] > 2. 方法 2-3 通过文件系统符号链接解析路径,适用于未配置环境变量的场景[^2] > 3. OpenJDK 安装路径通常位于 `/usr/lib/jvm/` 目录下 > 4. 输出路径末尾的 `/bin/java` 需要去除才能得到真正的安装目录
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值