CentOS安装JDK1.7设置环境变量及profile和bashrc文件的区别
1、查看当前系统中是否装有JDK(通常CentOS中默认安装OpenJDK)
# java –version
如果存在OpenJDK需要先卸载:
# rpm -qa|grep jdk 或 rpm -qa|grep java
java-1.6.0-openjdk-1.***
java-1.7.0-openjdk-1.***# rpm -qa|grep gcj
java-1.***
libgcj-***# yum -y remove java java-1.6.0-openjdk-1.***
# yum -y remove java java-1.7.0-openjdk-1.***
# yum -y remove java java-1.***
# yum -y libgcj-***
2、下载JDK1.7
http://www.oracle.com/technetwork/java/javase/downloads/index.html
拉到最下面,点击Java Archive 下的 DOWNLOAD 下载历史版本。
选择JAVA SE7
选 Accept License Agreement 表示同意各种条件,这里下载的时候需要登录(所以要注册个Oracle帐号)……
上传至服务器。
我上传在/usr/local/目录下。 ……这个位置可随意,根据需要自行规划。
3、解压文件
[root@VM_7_135_centos local]# cd /usr/local/
[root@VM_7_135_centos local]# tar zxvf jdk-7u80-linux-x64.tar.gz
其实解压就相当于安装完成了。
[root@VM_7_135_centos bin]# pwd
/usr/local/jdk1.7.0_80/bin
我们可以在bin目录下执行java命令,比如:
[root@VM_7_135_centos bin]# ./java -version
java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)
如果需要在任何位置使用java命令需要配置环境变量。
4、设置环境变量
把环境变量写到/etc/profile文件还是.bashrc文件请参考第5条。这里配置到/etc/profile
[root@VM_7_135_centos bin]# vi + /etc/profile
在文件末尾加入:
export JAVA_HOME=/usr/local/jdk1.7.0_80
export PATH=$JAVA_HOME/bin:$PATH
使设置生效:
[root@VM_7_135_centos ~]# source /etc/profile
测试:
[root@VM_7_135_centos ~]# pwd
/root
[root@VM_7_135_centos ~]# java -version
java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)
另:需要的话可以加 CLASSPATH
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
5、profile和bashrc文件的区别
/与~的区别:
符号 ~ 在Linux中表示当前用户目录:
/是目录分隔符。
~是一个代位符,表明的是个人目录的地址。/是根节点,
~是 home
如果以root账号登陆 ~ 是 /root/
如果以普通用户登陆 ~ 是 /home/name/
/etc/profile、/etc/bashrc、~/.bash_profile、~/.bashrc四个文件在环境变量中的区别与作用:
1、/etc/profile 用来设置系统环境(参)变(数)量,比如$PATH. 这里面的环境变量是对系统内所有用户生效的。
2、/etc/bashrc 这个文件设置系统-bash shell相关的,对系统内所有用户生效。只要用户运行bash命令,那么这里面的东西就在起作用。
3、~/.bash_profile: 用来设置一些环境变量,功能和/etc/profile 类似,但是这个是用户级别来设定的,也就是说,你在/home/{username}/.bash_profile 中设定了环境变量,那么这个环境变量只针对这个用户生效.
4、~/.bashrc: 作用类似于/etc/bashrc, 只是针对当前用户有效,不对其他用户生效。
另外/etc/profile中设定的变量是全局的可以作用于任何用户,
而~/.bashrc等中设定的变量是局部只能继承/etc/profile中的变量,他们是"父子"关系。
~/.bash_profile 是交互式、login 方式进入 bash 运行的意思是只有用户登录时才会生效。
~/.bashrc 是交互式 non-login 方式进入 bash 运行的,用户不一定登录,只要以该用户身份运行命令行就会读取该文件。