Linux如何查看JDK的安装路径
2015-12-17 16:03
573 查看
1Linux目录结构
即使这是个菜鸟级的问题,也经常难住老鸟。我就见过很资深的程序员把JDK不合适地安装到/home目录下。虽然不一定有最正确的安装位置,但一定有不适当的安装位置。为了确定我们到底应该把JDK安装在哪里,首先要了解一下Unix/Linux的目录结构。[plain]view
plain
/bin用来贮存用户命令。/usr/bin也被用来贮存用户命令。
/sbin许多系统命令(例如shutdown)的贮存位置。/usr/sbin中也包括了许多系统命令。
/root根用户(超级用户)的主目录。
/mnt该目录中通常包括系统引导后被挂载的文件系统的挂载点。比如,默认的光盘挂载点是/mnt/cdrom/。可以为U盘建一个挂载点:mkdir/mnt/usb。
/boot包括内核和其它系统启动期间使用的文件,最大不超过200M。通常我为/boot建一个primary分区是1G。
/lost+found被fsck用来放置零散文件(没有名称的文件)。
/lib包含许多被/bin和/sbin中的程序使用的库文件。目录/usr/lib中含有更多用于用户程序的库文件。/lib目录下放置的是/bin和/sbin目录下程序所需的库文件。简单说,/lib是内核级的;/usr/lib是系统级的;/usr/local/lib是用户级的。仅仅被/usr目录下的程序所使用的共享库不必放到/lib目录下。只有/bin和/sbin下的程序所需要的库有必要放到/lib目录下。
/dev贮存设备文件。
/etc包含许多配置文件和目录。
/var用于贮存variable(或不断改变的)文件,例如日志文件和打印机假脱机文件,虚拟机镜像文件等。
/usr包括与系统用户直接有关的文件和目录,例如应用程序及支持它们的库文件。
/proc一个虚拟的文件系统(不是实际贮存在磁盘上的),它包括被某些程序使用的系统信息。
/initrd用来在计算机启动时挂载initrd.img映像文件的目录以及载入所需设备模块的目录。不要删除/initrd目录。如果你删除了该目录后再重新引导RedHatLinux时,你将无法引导你的计算机。
/tmp用户和程序的临时目录。/tmp给予所有系统用户读写权。
/home用户主目录的默认位置。
/opt可选文件和程序的贮存目录。该目录主要被第三方开发者用来简易地安装和卸装他们的软件包。
在传统的unix系统中,/usr通常只包含系统发行时自带的程序,而/usr/local则是本地系统管理员用来自由添加程序的目录。这里有一条严厉而牢固的规则:除非在里面创建目录,unix发行版不得使用/usr/local。
对于Linux发行版,如RedHat,Debian等等,一个可能的规定是:/usr目录只能由发行版的软件包管理工具负责管理,而对/usr/local却没有这样做。正是因为采用这种方式,软件包管理工具的数据库才能知道在/usr目录内的每一个文件。
2配置环境JAVA变量
有3种方式配置JAVA环境变量。2.1/etc/profile
如果你的计算机仅仅作为开发使用时推荐使用这种方法.所有用户的shell都有权使用这些环境变量。修改/etc/profile文件,执行下面的语句:[plain]view
plain
$sudo-s
#echo'exportJAVA_HOME=/usr/local/java/jdk1.6.0_38'>>/etc/profile
#echo'exportPATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH'>>/etc/profile
#echo'exportCLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar'>>/etc/profile
切换到任何一个用户,执行下面这个命令,环境变量的更改立即生效:
#source/etc/profile
检查JAVA环境变量更改是否生效:
$java-version
2.2~/.profile
这个是最安全的方法,控制JAVA到当前用户。如果你需要给某个用户权限使用这些环境变量,你只需要修改其个人用户主目录下的.profile,如下:[plain]view
plain
$cd~/
$echo'exportJAVA_HOME=/usr/local/java/jdk1.6.0_38'>>./.profile
$echo'exportPATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH'>>./.profile
$echo'exportCLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar'>>./.profile
$source./.profile
$java-version
or
$java
2.3/etc/profile.d/java.sh
这种方式为所有用户增加JAVA环境变量,并且一启动就生效。强烈不建议这个方式,除非在你个人开发的计算机上。[plain]view
plain
$sudo-s
#echo'#addjavaenvironmentstoallusers'>/etc/profile.d/java.sh
#chmod755/etc/profile.d/java.sh
#echo'exportJAVA_HOME=/usr/local/java/jdk1.6.0_38'>>/etc/profile.d/java.sh
#echo'exportPATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH'>>/etc/profile.d/java.sh
#echo'exportCLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar'>>/etc/profile.d/java.sh
#shutdown-rnow
转自:
如何在一台Linux服务器上查找JDK的安装路径呢?有那些方法可以查找定位JDK的安装路径?是否有一些局限性呢?下面总结了一下如何查找JDK安装路径的方法.
1:echo$JAVA_HOME
使用$JAVA_HOME的话能定位JDK的安装路径的前提是配置了环境变量$JAVA_HOME,否则如下所示,根本定位不到JDK的安装路径
[root@localhost~]#java-version
javaversion"1.7.0_65"
OpenJDKRuntimeEnvironment(rhel-2.5.1.2.el6_5-x86_64u65-b17)
OpenJDK64-BitServerVM(build24.65-b04,mixedmode)
[root@localhost~]#echo$JAVA_HOME
2:whichjava
首先要申明一下whichjava是定位不到安装路径的。whichjava定位到的是java程序的执行路径。网上的资料都是人云亦云,完全不去思考。那么怎么定位到java的安装路径呢?下面我们来看看例子吧,如下所示:
[root@localhost~]#java-version
javaversion"1.7.0_65"
OpenJDKRuntimeEnvironment(rhel-2.5.1.2.el6_5-x86_64u65-b17)
OpenJDK64-BitServerVM(build24.65-b04,mixedmode)
[root@localhost~]#whichjava
/usr/bin/java
[root@localhost~]#ls-lrt/usr/bin/java
lrwxrwxrwx.1rootroot22Aug1715:12/usr/bin/java->/etc/alternatives/java
[root@localhost~]#ls-lrt/etc/alternatives/java
lrwxrwxrwx.1rootroot46Aug1715:12/etc/alternatives/java->/usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java
[root@localhost~]#
[root@localhost~]#cd/usr/lib/jvm
[root@localhostjvm]#ls
java-1.6.0-openjdk-1.6.0.0.x86_64java-1.7.0-openjdk-1.7.0.65.x86_64jrejre-1.6.0jre-1.6.0-openjdk.x86_64jre-1.7.0jre-1.7.0-openjdk.x86_64jre-openjdk
[root@localhostjvm]#
whereisjava也是如此,它本身不能定位到安装路径。可以通过上面例子去定位安装路径
3:rpm-qlpackagename
如果JDK是源码安装的话,那么这个方法也是行不通的。也就是说rpm–qlpackagename也是有一定局限性的。
[root@localhost~]#java-version
javaversion"1.7.0_65"
OpenJDKRuntimeEnvironment(rhel-2.5.1.2.el6_5-x86_64u65-b17)
OpenJDK64-BitServerVM(build24.65-b04,mixedmode)
[root@localhost~]#rpm-qa|grepjava
tzdata-java-2014g-1.el6.noarch
java-1.6.0-openjdk-1.6.0.0-11.1.13.4.el6.x86_64
java-1.7.0-openjdk-1.7.0.65-2.5.1.2.el6_5.x86_64
[root@localhost~]#rpm-qljava-1.7.0-openjdk-1.7.0.65-2.5.1.2.el6_5.x86_64|more
/etc/.java
/etc/.java/.systemPrefs
/usr/lib/jvm-exports/java-1.7.0-openjdk-1.7.0.65.x86_64
/usr/lib/jvm-exports/java-1.7.0-openjdk-1.7.0.65.x86_64/jaas-1.7.0.65.jar
/usr/lib/jvm-exports/java-1.7.0-openjdk-1.7.0.65.x86_64/jaas-1.7.0.jar
/usr/lib/jvm-exports/java-1.7.0-openjdk-1.7.0.65.x86_64/jaas.jar
/usr/lib/jvm-exports/java-1.7.0-openjdk-1.7.0.65.x86_64/jce-1.7.0.65.jar
/usr/lib/jvm-exports/java-1.7.0-openjdk-1.7.0.65.x86_64/jce-1.7.0.jar
/usr/lib/jvm-exports/java-1.7.0-openjdk-1.7.0.65.x86_64/jce.jar
/usr/lib/jvm-exports/java-1.7.0-openjdk-1.7.0.65.x86_64/jdbc-stdext-1.7.0.65.jar
/usr/lib/jvm-exports/java-1.7.0-openjdk-1.7.0.65.x86_64/jdbc-stdext-1.7.0.jar
/usr/lib/jvm-exports/java-1.7.0-openjdk-1.7.0.65.x86_64/jdbc-stdext-3.0.jar
/usr/lib/jvm-exports/java-1.7.0-openjdk-1.7.0.65.x86_64/jdbc-stdext.jar
/usr/lib/jvm-exports/java-1.7.0-openjdk-1.7.0.65.x86_64/jndi-1.7.0.65.jar
/usr/lib/jvm-exports/java-1.7.0-openjdk-1.7.0.65.x86_64/jndi-1.7.0.jar
/usr/lib/jvm-exports/java-1.7.0-openjdk-1.7.0.65.x86_64/jndi-cos-1.7.0.65.jar
/usr/lib/jvm-exports/java-1.7.0-openjdk-1.7.0.65.x86_64/jndi-cos-1.7.0.jar
/usr/lib/jvm-exports/java-1.7.0-openjdk-1.7.0.65.x86_64/jndi-cos.jar
/usr/lib/jvm-exports/java-1.7.0-openjdk-1.7.0.65.x86_64/jndi-ldap-1.7.0.65.jar
/usr/lib/jvm-exports/java-1.7.0-openjdk-1.7.0.65.x86_64/jndi-ldap-1.7.0.jar
/usr/lib/jvm-exports/java-1.7.0-openjdk-1.7.0.65.x86_64/jndi-ldap.jar
/usr/lib/jvm-exports/java-1.7.0-openjdk-1.7.0.65.x86_64/jndi-rmi-1.7.0.65.jar
/usr/lib/jvm-exports/java-1.7.0-openjdk-1.7.0.65.x86_64/jndi-rmi-1.7.0.jar
/usr/lib/jvm-exports/java-1.7.0-openjdk-1.7.0.65.x86_64/jndi-rmi.jar
/usr/lib/jvm-exports/java-1.7.0-openjdk-1.7.0.65.x86_64/jndi.jar
/usr/lib/jvm-exports/java-1.7.0-openjdk-1.7.0.65.x86_64/jsse-1.7.0.65.jar
/usr/lib/jvm-exports/java-1.7.0-openjdk-1.7.0.65.x86_64/jsse-1.7.0.jar
/usr/lib/jvm-exports/java-1.7.0-openjdk-1.7.0.65.x86_64/jsse.jar
/usr/lib/jvm-exports/java-1.7.0-openjdk-1.7.0.65.x86_64/sasl-1.7.0.65.jar
/usr/lib/jvm-exports/java-1.7.0-openjdk-1.7.0.65.x86_64/sasl-1.7.0.jar
/usr/lib/jvm-exports/java-1.7.0-openjdk-1.7.0.65.x86_64/sasl.jar
/usr/lib/jvm-exports/jre-1.7.0-openjdk.x86_64
/usr/lib/jvm-private/java-1.7.0-openjdk.x86_64
/usr/lib/jvm-private/java-1.7.0-openjdk.x86_64/jce
/usr/lib/jvm-private/java-1.7.0-openjdk.x86_64/jce/vanilla
/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.65.x86_64
/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.65.x86_64/ASSEMBLY_EXCEPTION
/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.65.x86_64/LICENSE
/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.65.x86_64/THIRD_PARTY_README
/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.65.x86_64/jre
/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.65.x86_64/jre/bin
/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.65.x86_64/jre/bin/java
/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.65.x86_64/jre/bin/keytool
/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.65.x86_64/jre/bin/orbd
/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.65.x86_64/jre/bin/pack200
/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.65.x86_64/jre/bin/policytool
/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.65.x86_64/jre/bin/rmid
/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.65.x86_64/jre/bin/rmiregistry
--More--
作者:
出处:
相关文章推荐
- linux命令
- Linux IO实时监控iostat命令详解
- Linux IO实时监控iostat命令详解
- linux下core文件调试方法
- Linux中Workqueue机制分析
- linux系统iNode耗尽
- liunx CentOS 6.5 匿名用户 安装FTP
- zabbix自动监控Linux端口
- Linux文件系统
- linux 如何显示一个文件的某几行(中间几行)
- Centos下yum安装heartbeat
- Linux 下的Mysql笔记整理(一)
- git从linux远程服务器上下载源码到本地
- Linux下文件的权限
- Linux下文件的权限
- Linux 快捷键
- linux less命令
- Centos Git1.7.1升级到Git2.2.1
- linux常用软件下载地址
- 在linux中如何解压.tar.gz 包