登入啟動shell時候呼叫的幾個配置檔案簡單總結
[url]http://www.linuxdiyf.com/bbs/thread-312980-1-1.html[/url]
[color=red][b]開機啟動[/b][/color]: 在/etc/rc.d/rc.local 增加啟動程式碼.
比如:[url]http://blog.csdn.net/fjssharpsword/article/details/7436898[/url]
最近接手一臺伺服器,用root登入以後,感覺設定的bash shell環境特別不舒服,就想改改,結果一看發現,都是寫在/etc/profile檔案中的了。所以就總結了一下,啟動一個bash,主要會呼叫哪些檔案,如果要配置自己的bash環境的話,應該修改什麼檔案,不應該修改什麼檔案。
當使用者輸入帳號密碼登入一個使用者終端的時候,那麼,[color=red][b]首先,系統會讀取檔案/etc/profile[/b][/color],載入其中的配置,/etc/profile這個檔案又會呼叫幾個檔案,包括/etc/sysconfig/i18n這個檔案用來設定終端的語言資訊,/etc/inputrc這個檔案主要設定終端的輸入方式,比如Ctrl+C之類的情況,還有一個比較重要的就是/etc/profile.d/目錄下的指令碼檔案,那麼如果真的需要修改一些全域性的bash環境的話,最好是將環境寫成一個shell指令碼,放在/etc/profile.d/目錄中,那麼登入的時候,/etc/profile會自動去呼叫。
那麼,上面說到的是使用者登入的時候 ,執行的全域性檔案,那麼[color=red][b]在自己的家目錄下,還會執行個人的shell配置檔案,主要有.bash_profile,.bash_login,.profile這三個檔案[/b][/color],一般情況下,你的家目錄下應該只有.bash_profile這個檔案,因為[color=red][b]系統只執行這三個檔案中的一個[/b][/color],如果沒有找到.bash_profile,才會繼續搜尋.bash_login,沒有的話,搜尋.profile。
用vim編輯器開啟.bash_profile,可以看到,這個檔案又會呼叫~/.bashrc這個檔案,可以看到一些alias設定,所以,如果你需要設定你自己個人的一些alias和一些環境變數的時候,強烈建議寫在這個檔案中或者~/.bash_profile中。但是還是寫在~/.bashrc中比較好,為什麼呢?因為有一種情況,比如你在X window下,直接開啟一個命令列終端的話,是不用輸入帳號密碼登入的,都有印象吧,那麼在這個情況下,實際上是不會去讀取/etc/profile,~/.bash_profile這些檔案的,而是直接讀取[color=red][b]./bashrc這個檔案,所以,如果你想你的環境設定在任何時候都有效的話,建議寫入這個檔案[/b][/color]。
最後再提一點,那麼看~/.bashrc這個檔案中的內容,可以看到,這個檔案其實還會呼叫/etc/bashrc檔案的內容,用vim開啟/etc/bashrc這個檔案看看,會發現在這個檔案的最後又會呼叫/etc/profile.d/裡面的sh檔案,呵呵,很有趣吧~~~其實Linux中很多都是這樣,最後都是殊途同歸,到一個檔案中。
[color=red][b]開機啟動[/b][/color]: 在/etc/rc.d/rc.local 增加啟動程式碼.
比如:[url]http://blog.csdn.net/fjssharpsword/article/details/7436898[/url]
最近接手一臺伺服器,用root登入以後,感覺設定的bash shell環境特別不舒服,就想改改,結果一看發現,都是寫在/etc/profile檔案中的了。所以就總結了一下,啟動一個bash,主要會呼叫哪些檔案,如果要配置自己的bash環境的話,應該修改什麼檔案,不應該修改什麼檔案。
當使用者輸入帳號密碼登入一個使用者終端的時候,那麼,[color=red][b]首先,系統會讀取檔案/etc/profile[/b][/color],載入其中的配置,/etc/profile這個檔案又會呼叫幾個檔案,包括/etc/sysconfig/i18n這個檔案用來設定終端的語言資訊,/etc/inputrc這個檔案主要設定終端的輸入方式,比如Ctrl+C之類的情況,還有一個比較重要的就是/etc/profile.d/目錄下的指令碼檔案,那麼如果真的需要修改一些全域性的bash環境的話,最好是將環境寫成一個shell指令碼,放在/etc/profile.d/目錄中,那麼登入的時候,/etc/profile會自動去呼叫。
那麼,上面說到的是使用者登入的時候 ,執行的全域性檔案,那麼[color=red][b]在自己的家目錄下,還會執行個人的shell配置檔案,主要有.bash_profile,.bash_login,.profile這三個檔案[/b][/color],一般情況下,你的家目錄下應該只有.bash_profile這個檔案,因為[color=red][b]系統只執行這三個檔案中的一個[/b][/color],如果沒有找到.bash_profile,才會繼續搜尋.bash_login,沒有的話,搜尋.profile。
用vim編輯器開啟.bash_profile,可以看到,這個檔案又會呼叫~/.bashrc這個檔案,可以看到一些alias設定,所以,如果你需要設定你自己個人的一些alias和一些環境變數的時候,強烈建議寫在這個檔案中或者~/.bash_profile中。但是還是寫在~/.bashrc中比較好,為什麼呢?因為有一種情況,比如你在X window下,直接開啟一個命令列終端的話,是不用輸入帳號密碼登入的,都有印象吧,那麼在這個情況下,實際上是不會去讀取/etc/profile,~/.bash_profile這些檔案的,而是直接讀取[color=red][b]./bashrc這個檔案,所以,如果你想你的環境設定在任何時候都有效的話,建議寫入這個檔案[/b][/color]。
最後再提一點,那麼看~/.bashrc這個檔案中的內容,可以看到,這個檔案其實還會呼叫/etc/bashrc檔案的內容,用vim開啟/etc/bashrc這個檔案看看,會發現在這個檔案的最後又會呼叫/etc/profile.d/裡面的sh檔案,呵呵,很有趣吧~~~其實Linux中很多都是這樣,最後都是殊途同歸,到一個檔案中。
相關文章
- 登錄檔檔案修改開啟程式的簡單示例
- 一個簡單的ipf配置檔案
- linux下系統啟動時,幾個配置檔案 /etc/profile、~/.bash_profile 等幾個檔案的執行過程,先後順序Linux
- Tomcat增加Context配置導致啟動的時候專案載入兩次TomcatContext
- 實現js檔案動態載入的幾種方式簡單介紹JS
- 簡單的ANT配置檔案
- shell 啟動 java jar 檔案JavaJAR
- scrapy 單檔案啟動單個spiderIDE
- 一個簡單的Linux啟動jar包的shell指令碼LinuxJAR指令碼
- 一個.Net簡單、易用的配置檔案操作庫
- MyBatis配置檔案總結MyBatis
- shell配置檔案
- spring boot啟動載入外部配置檔案Spring Boot
- Linux啟動時讀取配置檔案的順序Linux
- docker 啟動 jenkins,配置 mvn 卻無法使用 shell 讀取配置檔案DockerJenkins
- 簡單說說webpack的配置檔案Web
- 寫了一個簡單的Linux Shell用來下載檔案Linux
- 動態載入js檔案簡單介紹JS
- oracle之 監聽器無法啟動的幾個原因總結Oracle
- Linux的檔案系統與Shell簡單命令Linux
- 用javaws開啟jnlp的時候,無法啟動解析檔案,這個問題怎麼解決?求大神Java
- 一個簡單的 SpringBoot 專案的 Dockfile 和 cicd 檔案配置Spring Boot
- 操作檔案方法簡單總結(File,Directory,StreamReader,StreamWrite )
- linux的啟動配置檔案inittab檔案詳解Linux
- jQuery動態載入js檔案簡單介紹jQueryJS
- js動態載入js檔案簡單介紹JS
- Spring Boot 配置檔案總結Spring Boot
- Spring學習總結(24)——Spring配置檔案載入路徑總結Spring
- Mongodb總結1-啟動和Shell指令碼MongoDB指令碼
- 關於spring的配置檔案總結Spring
- 配置tnsnames.ora遇到的幾個問題總結
- SSM專案搭建及實現簡單的登入SSM
- linux的umask以及登入Linux時/etc/profile、~/.bash_profile等幾個檔案的執行過程Linux
- Mybatis【配置檔案】就是這麼簡單MyBatis
- windows下 power shell啟動,呼叫ssh命令Windows
- Shell啟動檔案與環境變數(轉)變數
- 登入一個簡單的網頁進行的操作網頁
- js實現的動態載入css檔案簡單介紹JSCSS