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