Linux系统中关于PATH环境变量的理解

1. 什么是PATH环境变量?
记得以前在Windows系统配置java的环境变量时会感觉很不理解为什么要这样做,以前是JAVA_HOME,现在是ORACLE_HOME,我的感觉就是这些软件就是一定得有个HOME才算数,当然这也是为了软件有个安身之处,又方便我们以及操作系统能快速定位软件的安装位置,话不多说了,来看看PATH里面到底是什么东西

[root@node2 ~]# echo $PATH

我当前是以root用户查询的,显示如下,可以看出全部是系统命令的安装位置
在这里插入图片描述
再切换至oracle用户看看其PATH变量的值,可以看出oracle用户的PATH变量的值包含了oracle数据库软件的命令位置,而root用户的PATH变量的值没有,因为安装oracle数据库软件是是在oracle用户下为其配置的环境变量,所以我们在配置监听和创建数据库实例时需要切换至oracle用户才能输入命令运行.
在这里插入图片描述
接着我们进入oracle用户的oracle数据库软件命令的位置里看看里面的命令,如下图所示,如红框标出的三个命令是我们在安装数据库软件时需要用到的,dbca就是创建实例的命令,netca是创建监听的命令,而lsnrctl启动和关闭监听的命令,我们之所以能在shell终端直接输入netca再回车运行,是因为我们将该命令的位置赋值给了PATH变量,当您输入命令时,系统会根据PATH变量的值去每个位置查找与输入命令相同的第一个脚本命令并执行,所以PATH变量的含义及其作用也就不言而喻了.
Linux系统中关于PATH环境变量的理解_第1张图片
而且更要强调的是就算root用户的PATH变量加入oracle数据库软件命令位置,root用户也不能运行其命令,这是为什么,我们来看看oracle数据库软件的命令目录的权限就知道了,如下图所示,可以看出其所有者是oracle用户,其拥有所有权限,所属组是oinstall组,可读可执行,而root用户并没有在oinstall组里,所以root用户不能执行这些命令,这进一步解释了为什么要切换至oracle用户执行Oracle数据库软件的命令了.
Linux系统中关于PATH环境变量的理解_第2张图片

你可能感兴趣的:(linux,数据库,oracle,教程)