/etc/profile、/etc/bashrc、~/.bash_profile、~/.bashrc 文件的作用
?轉(zhuǎn)載自:http://blog.csdn.net/u013968345/article/details/21262033
?
/etc/profile:此文件為系統(tǒng)的每個(gè)用戶設(shè)置環(huán)境信息,當(dāng)用戶第一次登錄時(shí),該文件被執(zhí)行.?并從/etc/profile.d目錄的配置文件中搜集shell的設(shè)置.?
/etc/bashrc:為每一個(gè)運(yùn)行bash shell的用戶執(zhí)行此文件.當(dāng)bash shell被打開時(shí),該文件被讀取.?
~/.bash_profile:每個(gè)用戶都可使用該文件輸入專用于自己使用的shell信息,當(dāng)用戶登錄時(shí),該?文件僅僅執(zhí)行一次!默認(rèn)情況下,他設(shè)置一些環(huán)境變量,執(zhí)行用戶的.bashrc文件.?
~/.bashrc:該文件包含專用于你的bash shell的bash信息,當(dāng)?shù)卿洉r(shí)以及每次打開新的shell時(shí),該文件被讀取.?
~/.bash_logout:當(dāng)每次退出系統(tǒng)(退出bash shell)時(shí),執(zhí)行該文件.?
另外,/etc/profile中設(shè)定的變量(全局)的可以作用于任何用戶,而~/.bashrc等中設(shè)定的變量(局部)只能繼承/etc/profile中的變量,他們是"父子"關(guān)系.?
~/.bash_profile 是交互式、login 方式進(jìn)入 bash 運(yùn)行的?
~/.bashrc 是交互式 non-login 方式進(jìn)入 bash 運(yùn)行的?
通常二者設(shè)置大致相同,所以通常前者會(huì)調(diào)用后者。?
bash的幾個(gè)初始化文件 - [Ubuntu]?
(1)/etc/profile?
全局(公有)配置,不管是哪個(gè)用戶,登錄時(shí)都會(huì)讀取該文件。?
(2)/ect/bashrc?
Ubuntu沒有此文件,與之對(duì)應(yīng)的是/ect/bash.bashrc?
它也是全局(公有)的?
bash執(zhí)行時(shí),不管是何種方式,都會(huì)讀取此文件。?
(3)~/.profile?
若bash是以login方式執(zhí)行時(shí),讀取~/.bash_profile,若它不存在,則讀取~/.bash_login,若前兩者不存在,讀取~/.profile。?
另外,圖形模式登錄時(shí),此文件將被讀取,即使存在~/.bash_profile和~/.bash_login。?
(4)~/.bash_login?
若bash是以login方式執(zhí)行時(shí),讀取~/.bash_profile,若它不存在,則讀取~/.bash_login,若前兩者不存在,讀取~/.profile。?
(5)~/.bash_profile?
Unbutu默認(rèn)沒有此文件,可新建。?
只有bash是以login形式執(zhí)行時(shí),才會(huì)讀取此文件。通常該配置文件還會(huì)配置成去讀取~/.bashrc。?
(6)~/.bashrc?
當(dāng)bash是以non-login形式執(zhí)行時(shí),讀取此文件。若是以login形式執(zhí)行,則不會(huì)讀取此文件。?
(7)~/.bash_logout?
注銷時(shí),且是longin形式,此文件才會(huì)讀取。也就是說,在文本模式注銷時(shí),此文件會(huì)被讀取,圖形模式注銷時(shí),此文件不會(huì)被讀取。?
下面是在本機(jī)的幾個(gè)例子:?
1. 圖形模式登錄時(shí),順序讀取:/etc/profile和~/.profile?
2. 圖形模式登錄后,打開終端時(shí),順序讀取:/etc/bash.bashrc和~/.bashrc?
3. 文本模式登錄時(shí),順序讀取:/etc/bash.bashrc,/etc/profile和~/.bash_profile?
4. 從其它用戶su到該用戶,則分兩種情況:?
??? (1)如果帶-l參數(shù)(或-參數(shù),--login參數(shù)),如:su -l username,則bash是lonin的,它將順序讀取以下配置文件:/etc/bash.bashrc,/etc/profile和~/.bash_profile。?
??? (2)如果沒有帶-l參數(shù),則bash是non-login的,它將順序讀取:/etc/bash.bashrc和~/.bashrc?
5. 注銷時(shí),或退出su登錄的用戶,如果是longin方式,那么bash會(huì)讀取:~/.bash_logout?
6. 執(zhí)行自定義的shell文件時(shí),若使用“bash -l a.sh”的方式,則bash會(huì)讀取行:/etc/profile和~/.bash_profile,若使用其它方式,如:bash a.sh, ./a.sh,sh a.sh(這個(gè)不屬于bash shell),則不會(huì)讀取上面的任何文件。?
7. 上面的例子凡是讀取到~/.bash_profile的,若該文件不存在,則讀取~/.bash_login,若前兩者不存在,讀取~/.profile。?
linux中profile與bashrc的區(qū)別?
Ubuntu 的相關(guān)目錄下?
/ect/ /root /home/myuser?
profile .profile .profile?
bash.bashrc .bashrc .bashrc?
profile.d?
Fedora的相關(guān)目錄?
/ect/ /root /home/myuser?
profile profile?
bashrc .bashrc bashrc?
profile.d profile.d?
說明:myuser 是你添加創(chuàng)建的用戶?
在網(wǎng)上找了半天也不能包括所有的,所以只能比較個(gè)大概。?
bashrc與profile的區(qū)別?
要搞清bashrc與profile的區(qū)別,首先要弄明白什么是交互式shell和非交互式shell,什么是login shell 和non-login shell。?
交互式模式就是shell等待你的輸入,并且執(zhí)行你提交的命令。這種模式被稱作交互式是因?yàn)閟hell與用戶進(jìn)行交互。這種模式也是大多數(shù)用戶非常熟悉的:登錄、執(zhí)行一些命令、簽退。當(dāng)你簽退后,shell也終止了。 shell也可以運(yùn)行在另外一種模式:非交互式模式。在這種模式下,shell不與你進(jìn)行交互,而是讀取存放在文件中的命令,并且執(zhí)行它們。當(dāng)它讀到文件的結(jié)尾,shell也就終止了。?
bashrc與profile都用于保存用戶的環(huán)境信息,bashrc用于交互式non-loginshell,而profile用于交互式login shell。系統(tǒng)中存在許多bashrc和profile文件,下面逐一介紹:?
/etc/pro此文件為系統(tǒng)的每個(gè)用戶設(shè)置環(huán)境信息,當(dāng)?shù)谝粋€(gè)用戶登錄時(shí),該文件被執(zhí)行.?
并從/etc/profile.d目錄的配置文件中搜集shell的設(shè)置.?
/etc/bashrc:為每一個(gè)運(yùn)行bash shell的用戶執(zhí)行此文件.當(dāng)bash shell被打開時(shí),該文件被讀取。有些linux版本中的/etc目錄下已經(jīng)沒有了bashrc文件。?
~/. pro每個(gè)用戶都可使用該文件輸入專用于自己使用的shell信息,當(dāng)用戶登錄時(shí),該?文件僅僅執(zhí)行一次!默認(rèn)情況下,它設(shè)置一些環(huán)境變量,然后執(zhí)行用戶的.bashrc文件.?
~/.bashrc:該文件包含專用于某個(gè)用戶的bash shell的bash信息,當(dāng)該用戶登錄時(shí)以及每次打開新的shell時(shí),該文件被讀取.?
另外,/etc/profile中設(shè)定的變量(全局)的可以作用于任何用戶,而~/.bashrc等中設(shè)定的變量(局部)只能繼承/etc/profile中的變量,他們是"父子"關(guān)系.?
某網(wǎng)友總結(jié)如下:?
/etc/profile,/etc/bashrc 是系統(tǒng)全局環(huán)境變量設(shè)定?
~/.profile,~/.bashrc用戶家目錄下的私有環(huán)境變量設(shè)定?
當(dāng)?shù)侨胂到y(tǒng)時(shí)候獲得一個(gè)shell進(jìn)程時(shí),其讀取環(huán)境設(shè)定檔有三步?
1首先讀入的是全局環(huán)境變量設(shè)定檔/etc/profile,然后根據(jù)其內(nèi)容讀取額外的設(shè)定的文檔,如?
/etc/profile.d和/etc/inputrc?
2然后根據(jù)不同使用者帳號(hào),去其家目錄讀取~/.bash_profile,如果這讀取不了就讀取~/.bash_login,這個(gè)也讀取不了才會(huì)讀取?
~/.profile,這三個(gè)文檔設(shè)定基本上是一樣的,讀取有優(yōu)先關(guān)系?
3然后在根據(jù)用戶帳號(hào)讀取~/.bashrc?
至于~/.profile與~/.bashrc的不區(qū)別?
都具有個(gè)性化定制功能?
~/.profile可以設(shè)定本用戶專有的路徑,環(huán)境變量,等,它只能登入的時(shí)候執(zhí)行一次?
~/.bashrc也是某用戶專有設(shè)定文檔,可以設(shè)定路徑,命令別名,每次shell script的執(zhí)行都會(huì)使用它一次?
轉(zhuǎn)載于:https://www.cnblogs.com/cwp-bg/p/8257843.html
總結(jié)
以上是生活随笔為你收集整理的/etc/profile、/etc/bashrc、~/.bash_profile、~/.bashrc 文件的作用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 负载均衡种类
- 下一篇: 大型运输行业实战_day12_1_权限管