1、Linux系統(tǒng)的啟動過程并不是大家想象中的那么復(fù)雜,其過程可以分為5個階段:
(1)內(nèi)核的引導(dǎo)。
(2)運(yùn)行 init。
(3)系統(tǒng)初始化。
(4)建立終端 。
(5)用戶登錄系統(tǒng)。
2、內(nèi)核引導(dǎo)
當(dāng)計算機(jī)打開電源后,首先是BIOS開機(jī)自檢,按照BIOS中設(shè)置的啟動設(shè)備(通常是硬盤)來啟動。操作系統(tǒng)接管硬件以后,首先讀入 /boot 目錄下的內(nèi)核文件。
3、運(yùn)行 init
(1)init 進(jìn)程是系統(tǒng)所有進(jìn)程的起點(diǎn),你可以把它比擬成系統(tǒng)所有進(jìn)程的老祖宗,沒有這個進(jìn)程,系統(tǒng)中任何進(jìn)程都不會啟動。init 程序首先是需要讀取配置文件 /etc/inittab。
(2)運(yùn)行級別:許多程序需要開機(jī)啟動。它們在Windows叫做'服務(wù)'(service),在Linux就叫做'守護(hù)進(jìn)程'(daemon)。
init 進(jìn)程的一大任務(wù),就是去運(yùn)行這些開機(jī)啟動的程序。但是,不同的場合需要啟動不同的程序,比如用作服務(wù)器時,需要啟動Apache,用作桌面就不需要。
Linux允許為不同的場合,分配不同的開機(jī)啟動程序,這就叫做'運(yùn)行級別'(runlevel)。也就是說,啟動時根據(jù)'運(yùn)行級別',確定要運(yùn)行哪些程序。
(3)Linux系統(tǒng)有7個運(yùn)行級別(runlevel):
4、系統(tǒng)初始化
在 init 的配置文件中有這么一行: si::sysinit:/etc/rc.d/rc.sysinit 它調(diào)用執(zhí)行了/etc/rc.d/rc.sysinit,而 rc.sysinit 是一個 bash shell 的腳本,它主要是完成一些系統(tǒng)初始化的工作,rc.sysinit是每一個運(yùn)行級別都要首先運(yùn)行的重要腳本。
它主要完成的工作有:激活交換分區(qū),檢查磁盤,加載硬件模塊以及其它一些需要優(yōu)先執(zhí)行任務(wù)。
5、建立終端:rc 執(zhí)行完畢后,返回 init。這時基本系統(tǒng)環(huán)境已經(jīng)設(shè)置好了,各種守護(hù)進(jìn)程也已經(jīng)啟動了。init 接下來會打開6個終端,以便用戶登錄系統(tǒng)。
6、用戶登錄系統(tǒng):命令行登錄、ssh 登錄、圖形界面登錄 3 種
詳情可看這篇博客:http://www.ruanyifeng.com/blog/2013/08/linux_boot_process.html
1、正確的關(guān)機(jī)流程為:sync > shutdown > reboot > halt
2、關(guān)機(jī)指令為:shutdown ,你可以man shutdown 來看一下幫助文檔。
3、實例:
sync # 將數(shù)據(jù)由內(nèi)存同步到硬盤中。shutdown –h 10 'This server will shutdown after 10 mins’ #這個命令告訴大家,計算機(jī)將在10分鐘后關(guān)機(jī),并且會顯示在登陸用戶的當(dāng)前屏幕中。shutdown –h now # 立馬關(guān)機(jī)shutdown –h 20:25 # 系統(tǒng)會在今天20:25關(guān)機(jī)shutdown –h 10 # 十分鐘后關(guān)機(jī)shutdown –r now #系統(tǒng)立馬重啟shutdown –r 10 #系統(tǒng)十分鐘后重啟reboot # 就是重啟,等同于 shutdown –r nowhalt # 關(guān)閉系統(tǒng),等同于shutdown –h now 和 poweroff
4、不管是重啟系統(tǒng),還是關(guān)閉系統(tǒng),首先要運(yùn)行 sync 命令,把內(nèi)存中的數(shù)據(jù)寫到磁盤中。
關(guān)機(jī)的命令有 shutdown –h now、halt、poweroff 和 init 0,重啟系統(tǒng)的命令有 shutdown –r now、reboot、init 6。
5、shutdown 會給系統(tǒng)計劃一個時間關(guān)機(jī),它可以被用于停止、關(guān)機(jī)、重啟機(jī)器。
shutdown -p now # 關(guān)閉機(jī)器shutdown -H now # 停止機(jī)器 shutdown -r 09:35 # 在 09:35am 重啟機(jī)器
要取消即將進(jìn)行的關(guān)機(jī),只要輸入下面的命令:
shutdown -c
6、halt 命令通知硬件來停止所有的 CPU 功能,但是仍然保持通電。你可以用它使系統(tǒng)處于低層維護(hù)狀態(tài)。注意在有些情況會它會完全關(guān)閉系統(tǒng)。
# halt ### 停止機(jī)器# halt -p ### 關(guān)閉機(jī)器、關(guān)閉電源# halt --reboot ### 重啟機(jī)器
poweroff 會發(fā)送一個 ACPI 信號來通知系統(tǒng)關(guān)機(jī)。
# poweroff ### 關(guān)閉機(jī)器、關(guān)閉電源# poweroff --halt ### 停止機(jī)器# poweroff --reboot ### 重啟機(jī)器
reboot 命令 reboot 通知系統(tǒng)重啟。
# reboot ### 重啟機(jī)器# reboot --halt ### 停止機(jī)器# reboot -p ### 關(guān)閉機(jī)器
1、樹狀目錄結(jié)構(gòu):
2、一些常用目錄的解釋:
/bin:bin 是 Binaries (二進(jìn)制文件) 的縮寫, 這個目錄存放著最經(jīng)常使用的命令。
/etc:etc 是 Etcetera(等等) 的縮寫,這個目錄用來存放所有的系統(tǒng)管理所需要的配置文件和子目錄。
/home:用戶的主目錄,在 Linux 中,每個用戶都有一個自己的目錄,一般該目錄名是以用戶的賬號命名的,如上圖中的 alice、bob 和 eve。
/usr:usr 是 unix shared resources(共享資源) 的縮寫,這是一個非常重要的目錄,用戶的很多應(yīng)用程序和文件都放在這個目錄下,類似于 windows 下的 program files 目錄。
/usr/bin:系統(tǒng)用戶使用的應(yīng)用程序。
/usr/sbin:超級用戶使用的比較高級的管理程序和系統(tǒng)守護(hù)程序。
/var:var 是 variable(變量) 的縮寫,這個目錄中存放著在不斷擴(kuò)充著的東西,我們習(xí)慣將那些經(jīng)常被修改的目錄放在這個目錄下。包括各種日志文件。
/run:是一個臨時文件系統(tǒng),存儲系統(tǒng)啟動以來的信息。當(dāng)系統(tǒng)重啟時,這個目錄下的文件應(yīng)該被刪掉或清除。如果你的系統(tǒng)上有 /var/run 目錄,應(yīng)該讓它指向 run。
3、在 Linux 系統(tǒng)中,有幾個目錄是比較重要的,平時需要注意不要誤刪除或者隨意更改內(nèi)部文件。
/etc: 上邊也提到了,這個是系統(tǒng)中的配置文件,如果你更改了該目錄下的某個文件可能會導(dǎo)致系統(tǒng)不能啟動。
/bin, /sbin, /usr/bin, /usr/sbin: 這是系統(tǒng)預(yù)設(shè)的執(zhí)行文件的放置目錄,比如 ls 就是在 /bin/ls 目錄下的。值得提出的是,/bin, /usr/bin 是給系統(tǒng)用戶使用的指令(除root外的通用戶),而/sbin, /usr/sbin 則是給 root 使用的指令。
/var: 這是一個非常重要的目錄,系統(tǒng)上跑了很多程序,那么每個程序都會有相應(yīng)的日志產(chǎn)生,而這些日志就被記錄到這個目錄下,具體在 /var/log 目錄下,另外 mail 的預(yù)設(shè)放置也是在這里。
4、在 Linux 或 Unix 操作系統(tǒng)中,所有的文件和目錄都被組織成以一個根節(jié)點(diǎn)開始的倒置的樹狀結(jié)構(gòu)。
文件系統(tǒng)的最頂層是由根目錄開始的,系統(tǒng)使用 / 來表示根目錄。在根目錄之下的既可以是目錄,也可以是文件,而每一個目錄中又可以包含子目錄文件。如此反復(fù)就可以構(gòu)成一個龐大的文件系統(tǒng)。
在Linux文件系統(tǒng)中有兩個特殊的目錄,一個用戶所在的工作目錄,也叫當(dāng)前目錄,可以使用一個點(diǎn) . 來表示;另一個是當(dāng)前目錄的上一級目錄,也叫父目錄,可以使用兩個點(diǎn) .. 來表示。
如果一個目錄或文件名以一個點(diǎn) . 開始,表示這個目錄或文件是一個隱藏目錄或文件(如:.bashrc)。即以默認(rèn)方式查找時,不顯示該目錄或文件。
5、目錄分類介紹
系統(tǒng)啟動必須:
指令集合:
外部文件管理:
臨時文件:
賬戶:
運(yùn)行過程中要用:
擴(kuò)展用的: