[轉] linux 啟動文件及設置環境變量


系統級啟動文件 

====================================

1、/etc/rc  主啟動文件,不要修改它

2、/etc/rc.conf  決定啟動哪些系統自帶的守護進程,不要修改它

3、/etc/rc.conf.local 如果你想干涉系統啟動時啟動的守護進程,請編輯本文件,本文件的內容會覆蓋/etc/rc.conf中的內容。

4、/etc/rc.local  重點,你想讓Nginx,MySQL,Tomcat自啟動,請修改這個文件。

5、/etc/rc.shutdown 重點,在操作系統關機時執行,可關閉Nginx,MySQL,Tomcat

 

1、 /etc/rc.local

系統啟動需要加載的守護進程(服務)和執行的程序。該文件只有一條“exit 0”語句,用戶可加入自己的啟動程序,但需要保證最后的返回是0。

注意,該文件中不能加入用戶shell下的腳本,例如加入 alias ll="ls -l" 無效,因為該文件的執行環境是在系統shell下,系統尚未進入用戶shell環境。

可配置環境變量,可做開機自啟動,因為開機自啟動程序需要使用環境變量。

 

 

 

bash(用戶級)啟動文件 - [Ubuntu]  (/etc/profile 、/etc/bashrc 、 ~/.profile 、 ~/bashrc 文件)

====================================

1)進入系統時,先執行/etc/rc.local文件,再/etc/profile文件,再執行/etc/bashrc文件;結束后,進入bash(假如登陸用戶為user),先執行/etc/profile文件,再執行/home/user/.bash_profile文件,根據該文件,執行/home/user/.bashrc文件,再根據該文件,執行/etc/bashrc文件,執行完畢后,整個執行過程結束。


2)切換用戶(如從root用戶切換至wxc用戶)時,使用"su"命令,系統先執行/home/wxc/.bashrc文件,再根據該文件,執行/etc/bashrc文件,執行完畢后,整個執行過程結束;當使用"su -"命令時,先執行/etc/profile文件,再執行/etc/profile.d/*.sh和/home/wxc/.bash_profile文件,根據該文件,執行/home/wxc/.bashrc文件,再根據該文件,執行/etc/bashrc文件,執行完畢后,整個執行過程結束。

 

(1)/etc/profile

全局(公有)配置,不管是哪個用戶,登錄時都會讀取該文件。

可配置環境變量,如JAVA_HOME

Mac 有此文件

 

(2)/etc/bashrc

全局(公有)配置,bash shell執行時,不管是何種方式,都會讀取此文件。

Mac 有此文件 

Ubuntu沒有此文件,與之對應的是/ect/bash.bashrc

 

 

(3)~/.bashrc

當bash shell是以non-login形式執行時,讀取此文件。若是以login形式執行,則不會讀取此文件。

當登錄時以及每次打開新的shell時,該該文件被讀取.

~/.bash_profile 與 ~/.bashrc  設置大致相同,所以通常前者會調用后者。

 

(4)~/.bash_profile

若bash shell是以login方式執行時,才會讀取此文件。該文件僅僅執行一次!默認情況下,他設置一些環境變量,執行用戶的~/.bashrc文件.

~/.bash_profile 與 ~/.bashrc  設置大致相同,所以通常前者會調用后者。

Mac 有此文件(注:Linux 里面是 .bashrc 而 Mac 是 .bash_profile)

Unbutu默認沒有此文件,可新建。

 

(5)~/.bash_login

若bash shell是以login方式執行時,讀取~/.bash_profile,若它不存在,則讀取~/.bash_login,若前兩者不存在,讀取~/.profile。

 

(6)~/.profile

若bash shell是以login方式執行時,讀取~/.bash_profile,若它不存在,則讀取~/.bash_login,若前兩者不存在,讀取~/.profile。

另外,圖形模式登錄時,此文件將被讀取,即使存在~/.bash_profile和~/.bash_login。

Mac 默認沒有此文件,可手動創建此文件

 

 

(7)~/.bash_logout

注銷時,且是longin形式,此文件才會讀取。也就是說,在文本模式注銷時,此文件會被讀取,圖形模式注銷時,此文件不會被讀取。

 

 

設置環境變量

export xxx=xxxx

例如 export http_proxy=http://example.com:8080

刪除環境變量

unset xxxx

例如 unset http_proxy

 

 

下面是在本機(Ubuntu)的幾個例子

====================================

1. 圖形模式登錄時,順序讀取:/etc/profile和~/.profile

2. 圖形模式登錄后,打開終端時,順序讀取:/etc/bash.bashrc和~/.bashrc

3. 文本模式登錄時,順序讀取:/etc/bash.bashrc,/etc/profile和~/.bash_profile

4. 從其它用戶su到該用戶,則分兩種情況:

(1)如果帶-l參數(或-參數,--login參數),如:su -l username,則bash是lonin的,它將順序讀取以下配置文件:/etc/bash.bashrc,/etc/profile和~ /.bash_profile。

(2)如果沒有帶-l參數,則bash是non-login的,它將順序讀取:/etc/bash.bashrc和~/.bashrc

5. 注銷時,或退出su登錄的用戶,如果是longin方式,那么bash會讀取:~/.bash_logout

6. 執行自定義的shell文件時,若使用“bash -l a.sh”的方式,則bash會讀取行:/etc/profile和~/.bash_profile,若使用其它方式,如:bash a.sh, ./a.sh,sh a.sh(這個不屬於bash shell),則不會讀取上面的任何文件。

7. 上面的例子凡是讀取到~/.bash_profile的,若該文件不存在,則讀取~/.bash_login,若前兩者不存在,讀取~/.profile。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM