linux系統啟動和使用者登陸過程分析:
一、系統啟動過程
1、載入核心
2、執行init程式
3、/etc/rc.d/rc.sysinit ? 說明:由init執行的第乙個指令碼
4、/etc/rc.d/rc$d/* 說明:$runlevel為預設的執行模式
5、/etc/rc.d/rc.local ??? 說明:相應級別服務啟動之後、在執行該檔案(其實也可以把需要執行的命令寫到該檔案中)
6、/sbin/mingetty 說明:等待使用者登入
說明:(一)其中 /etc/rc.d/rc.sysinit的執行與執行模式(即$runlevel,包括1,2,3,4,5,6六個級別)無關,都執行相同的初始化任務:
1)、調入keymap以及系統字型
3)、設定主機名
4)、設定nis網域名稱
5)、檢查(fsck)並mount檔案系統
6)、開啟quota
7)、裝載音效卡模組
8)、設定系統時鐘
9)、其它
(二)執行完 rc.sysinit 指令碼之後,系統根據執行模式選擇相應的/etc/rc.d/rcx.d ,
其中執行模式從/etc/inittab 檔案中的 「id:3:initdefault: 」位置讀取;
執行完/etc/rc.d/rcx.d 下相應的指令碼之後,就執行 /etc/rc.local 檔案中的內容;
再接下來就是等待使用者登入,使用者登入時會執行一系列使用者環境的初始化指令碼。
二、使用者登陸過程
1)、etc目錄下的profile,bashrc
2)、使用者宿主目錄下的.bash_profile, .bashrc
(一)、通過在每個指令碼開頭新增 echo 輸出並重定向到 /tmp/bashtest 下面的測試結果:
[root@www ~]# cat /tmp/bashtest
i am /etc/profile ,executed at fri jun 6 20:01:30 cst 2014.
i am .bash_profile ,executed at fri jun 6 20:01:30 cst 2014.
i am .bashrc,executed at fri jun 6 20:01:30 cst 2014.
i am /etc/bashrc ,executed at fri jun 6 20:01:30 cst 2014.
[root@www ~]#
(二)、可以得知,以上指令碼執行的順序是: /etc/bash_profile => ~/.bash_profile => ~/.bashrc => /etc/bashrc,並且經過測試得知,
/etc/profile.d/目錄下面的指令碼執行也是在 ~/.bash_profile 之前執行的。
退出系統後,使用其他使用者登陸,發現 .bash開頭的檔案沒有執行:
由此可見,四個檔案/etc/profile,/etc/bashrc,~/.bash_profile,~/.bashrc中:
前兩件是全域性的,每乙個使用者登入都會執行
後兩個是專用的,針對特定使用者設定,即針對使用者自身設定的
(三)、再來分析 ~/.bash_profile,~/.bashrc 這兩個檔案
1) .bash_profile檔案中的注釋:
# .bash_profile
# get the aliases and functions
可見:.bash_profile作用:設定自定義的環境和開機啟動程式
2) .bashrc檔案中的注釋:
# .bashrc
# user specific aliases and functions
可見:.bashrc作用:設定自定義別名和函式。
rhel系統啟動過程 Linux 系統啟動過程
按下系統的電源開關,過一會就可以看到linux的登入介面了。你是否曾經想過,從按下電源開關到登入介面出現,這後面到底發生了什麼?linux 系統在啟動過程中,首先是韌體 pc 上大多是 cmos bios 的物理檢測,諸如檢測系統的顯示卡 cpu 和硬碟等,可從系統按下電源後看到此檢測資訊 檢測無問...
rhel系統啟動過程 Linux系統啟動過程簡介
1 bios加電自檢 計算機啟動後,首先會進行韌體bios的自檢,即所謂的post,然後把保持在mbr主引導記錄中的主引導引導程式到記憶體中 2 載入主引導引導程式 mbr 主引導引導程式通過分割槽表查詢活動分割槽,然後將活動分割槽的次引導引導程式從裝置讀入記憶體並執行 3 載入次引導引導程式 gr...
rhel系統啟動過程 Linux 系統啟動過程
linux系統啟動過程 linux啟動時我們會看到許多啟動資訊。核心的引導。執行 init。系統初始化。建立終端 使用者登入系統。init程式的型別 sysv init,centos 5之前,配置檔案 etc inittab。upstart init,centos 6,配置檔案 etc initta...