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變量的含義及其作用也就不言而喻了.
在這裏插入圖片描述
而且更要強調的是就算root用戶的PATH變量加入oracle數據庫軟件命令位置,root用戶也不能運行其命令,這是爲什麼,我們來看看oracle數據庫軟件的命令目錄的權限就知道了,如下圖所示,可以看出其所有者是oracle用戶,其擁有所有權限,所屬組是oinstall組,可讀可執行,而root用戶並沒有在oinstall組裏,所以root用戶不能執行這些命令,這進一步解釋了爲什麼要切換至oracle用戶執行Oracle數據庫軟件的命令了.
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章