淺談Linux環(huán)境變量文件介紹
在Linux系統(tǒng)中,環(huán)境變量按照其作用范圍不同大致可以分為系統(tǒng)級(jí)環(huán)境變量和用戶級(jí)環(huán)境變量。
- 系統(tǒng)級(jí)環(huán)境變量:每一個(gè)登錄到系統(tǒng)的用戶都能夠讀取到系統(tǒng)級(jí)的環(huán)境變量
- 用戶級(jí)環(huán)境變量:每一個(gè)登錄到系統(tǒng)的用戶只能夠讀取屬于自己的用戶級(jí)的環(huán)境變量
自然而然地,環(huán)境變量的配置文件也相應(yīng)的被分成了系統(tǒng)級(jí)和用戶級(jí)兩種。
系統(tǒng)級(jí)
/etc/profile
在系統(tǒng)啟動(dòng)后第一個(gè)用戶登錄時(shí)運(yùn)行,并從/etc/profile.d目錄的配置文件中搜集shell的設(shè)置,使用該文件配置的環(huán)境變量將應(yīng)用于登錄到系統(tǒng)的每一個(gè)用戶。
提示:在Linux系統(tǒng)中,使用以下命令可以使配置文件立刻生效。
source /etc/profile echo $PATH
/etc/bashrc(Ubuntu和Debian中是/etc/bash.bashrc)
在 bash shell 打開(kāi)時(shí)運(yùn)行,修改該文件配置的環(huán)境變量將會(huì)影響所有用戶使用的bash shell。
注意:這里的bash shell有不同的類別,不同的類別所使用的環(huán)境變量配置文件也有所不同。一般情況下,非登錄shell不會(huì)執(zhí)行任何profile文件,非交互shell模式不會(huì)執(zhí)行任何bashrc文件。
# 登錄shell和非登陸shell: 登錄shell # 需要輸入用戶密碼,例如 ssh 登錄或者 su - 命令提權(quán)都會(huì)啟動(dòng)login shell模式 非登陸shell # 無(wú)需輸入用戶密碼; # 交互shell和非交互shell: 交互shell # 提供命令提示符等待用戶輸入命令的是交互shell模式 非交互shell # 直接運(yùn)行腳本文件是非交互shell模式
/etc/environment
在系統(tǒng)啟動(dòng)時(shí)運(yùn)行,用于配置與系統(tǒng)運(yùn)行相關(guān)但與用戶無(wú)關(guān)的環(huán)境變量,修改該文件配置的環(huán)境變量將影響全局。
用戶級(jí)
~/.profile(推薦首選)
當(dāng)用戶登錄時(shí)執(zhí)行,每個(gè)用戶都可以使用該文件來(lái)配置專屬于自己使用的shell信息。
~/.bashrc
當(dāng)用戶登錄時(shí)以及每次打開(kāi)新的shell時(shí)該文件都將被讀取,不推薦在這里配置用戶專用的環(huán)境變量,因?yàn)槊块_(kāi)一個(gè)shell,該文件都會(huì)被讀取一次,效率肯定受影響。
~/.bash_profile 或 ~./bash_login
~/.bash_profile or ~./bash_login - If one of these file exist, bash executes it rather then "~/.profile" when it is started as a login shell. (Bash will prefer "~/.bash_profile" to "~/.bash_login"). However, these files won't influence a graphical session by default.
以上是ubuntu官網(wǎng)給出的關(guān)于~/.bash_profile 和 ~./bash_login 的說(shuō)明,翻譯為中文:
~/.bash_profile 或 ~./bash_login -
如果有其中的一個(gè)文件存在的話, 當(dāng)啟動(dòng)的是一個(gè) 登錄shell時(shí),Bash 會(huì)執(zhí)行該文件而不會(huì)執(zhí)行~/.profile ;
如果兩個(gè)文件都存在的話,Bash 將會(huì)優(yōu)先執(zhí)行~/.bash_profile 而不是~/.bash_login ;
然而, 默認(rèn)情況下,這些文件不會(huì)影響圖形會(huì)話
~/.bash_logout
當(dāng)每次退出系統(tǒng)(退出bash shell)時(shí)執(zhí)行該文件。
注意:Linux系統(tǒng)使用 $VARIABLE_NAME 訪問(wèn)環(huán)境變量,多個(gè)環(huán)境變量之間使用 : 分隔,Windows系統(tǒng)使用 %VARIABLE_NAME% 訪問(wèn)環(huán)境變量,多個(gè)環(huán)境變量之間使用 ; 分隔。
一般情況下,Linux加載環(huán)境變量配置文件的執(zhí)行順序?yàn)椋?/p>
==> /etc/profile ==> ~/.bash_profile | ~/.bash_login | ~/.profile ==> ~/.bashrc ==> /etc/bashrc ==> ~/.bash_logout
到此這篇關(guān)于淺談Linux環(huán)境變量文件介紹的文章就介紹到這了,更多相關(guān)Linux環(huán)境變量文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
在 Linux 命令行中使用 tcpdump 抓包的一些功能
tcpdump 是一款靈活、功能強(qiáng)大的抓包工具,能有效地幫助排查網(wǎng)絡(luò)故障問(wèn)題。接下來(lái)通過(guò)本文給大家介紹在 Linux 命令行中使用 tcpdump 抓包的一些常用功能,需要的朋友參考下吧2018-11-11Linux下rsync遠(yuǎn)程數(shù)據(jù)同步命令的詳細(xì)介紹
rsync是一款開(kāi)源的、快速的、多功能的、可實(shí)現(xiàn)全量及增量的本地或遠(yuǎn)程數(shù)據(jù)同步備份的優(yōu)秀工具。rsync軟件適用于unix/linux/windows等多種操作系統(tǒng)平臺(tái)。下面這篇文章主要介紹了Linux下rsync命令的相關(guān)資料,需要的朋友可以參考借鑒。2017-02-02crontab執(zhí)行時(shí)間與系統(tǒng)時(shí)間不一致問(wèn)題解決
這篇文章主要給大家介紹了關(guān)于crontab執(zhí)行時(shí)間與系統(tǒng)時(shí)間不一致問(wèn)題的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-01-01linux下使用Apache+php實(shí)現(xiàn)留言板功能的網(wǎng)站
在linux下使用apache+php實(shí)現(xiàn)留言板功能的網(wǎng)站,首先需要我們的linux服務(wù)器上安裝apache和php,然后結(jié)合其他操作實(shí)現(xiàn)此功能,下文小編給大家介紹的非常詳細(xì),感興趣的朋友一起學(xué)習(xí)吧2016-10-10詳解Linux系統(tǒng)中網(wǎng)卡MAC地址克隆方法
本篇文章主要介紹了詳解Linux系統(tǒng)中網(wǎng)卡MAC地址克隆方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-06-06關(guān)于Linux vi命令使用詳解(vim編輯器)
這篇文章主要介紹了關(guān)于Linux vi命令使用詳解(vim編輯器),文中詳細(xì)列舉了vi命令的用法,還不熟悉的朋友可以多看一下2023-03-03在Ubuntu 16.04 Server上安裝Zabbix的方法
這篇文章主要介紹了在Ubuntu 16.04 Server上安裝Zabbix的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-03-03Centos 6.5 下配置DNS服務(wù)器的方法(圖文詳解)
這篇文章主要介紹了Centos 6.5 下配置DNS服務(wù)器的方法詳解,需要的朋友可以參考下2017-05-05