inittab檔案中的每一行的格式如下:

id:runlevels:action:process

id : 每筆項目(entry)的識別碼,由兩個獨特的字元所組成的辨示符號。
runlevels: 執行層級,這一欄的合法值有 0,1,2...6,s以及S。又因為在一般LINUX中,runlevel的預設值是3所以,只有那些每一列中 runlevel 那欄有 5 這個值的,後面的 process才會被啟動。所以,我們就可以想像的到 : " 由於系統的 runlevel 不同,所起動的 process 也不盡相同,所以系統起動的資源在每個不同的 runlevel 就會有差異存在。

0 - halt (Do NOT set initdefault to this)
1 - Single user mode
2 - Multiuser, without NFS (The same as 3, if you do not have networking)
3 - Full multiuser mode
4 - unused
5 - X11
6 - reboot (Do NOT set initdefault to this)

action: 記錄著 init 在啟動相對應的process 時 ,對 process 所採取的動作 , 而合法的動作有下面幾項:
initdefault : 指出系統在啟動時 ,預設進入的 run-level 值,比如說,我們可以在 /etc/inittab 中找到這 一列 :id:3:initdefault:
很明顯的 ,系統將在啟動時 ,進入 runlevel 為 3 的模式 。 當然 ,你可以把 3 改成 5 試試看,如果你改成了 5, 會起動X window
sysinit : 在系統起動時 ,這個 process 會被執行 。而所有 process 前的 action 中有 boot 及 bootwait 的 process , 必 須等到這些 action 為 sysinit 的 process 執行完之後 它們才能夠執行。
wait : 在起動一個 process 之後 ,若要再起動另一個 process ,則 必需等到這個 process 結束之後才能繼續 。
respawn : 代表這個 process 即使在結束之後 , 也會重新被啟動 , 最典型的例子就是 getty ( 在 LINUX 中為 agetty ) 。
ctrlaltdel : 想必有人會以鍵盤上的 Ctrl - Alt , 及 Del 這三個 鍵來達到使系統 shutdown 的目的 , 現在我們果然在 /etc/inittab 中看到了這一列 : ca::ctrlaltdel:/sbin/shutdown -t3 -r now 所以說,當我們按下這三個鍵的時候 , init 會收到 SIGINT 這個 signal , 接著就執行 shutdown 的動作 不過 ,我們最好不要養成按 Ctrl-Alt-Del 來使系統 shutdown 的習慣

除了上面的幾個 action 之外 ,另外還有一些合法的 action , 但這 些 action 並不需要太注意 , 要用的時候再利用 man init 去查詢就 可以了 。

process: 這一欄中可以是 shell script 或是可執行的程式。

在系統正在執行時, telinit 命令可以改變執行層級,當執行層級被改變了, init 就會從 /etc/inittab 檔裡面執行相對應的命令。

當 init 啟動時,它會去 /etc/inittab 檔案裡面尋找指定預設執行層級的命令列:
id:3:initdefault:
#指定runlevel的預設值為3

si::sysinit:/etc/rc.d/rc.sysinit
#init在開機時,init第一次運作時會被執行rc.sysinit這個script檔

l0:0:wait:/etc/rc.d/rc 0
l1:1:wait:/etc/rc.d/rc 1
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3
l4:4:wait:/etc/rc.d/rc 4
l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6
#等到這些action為sysinit的process執行完之後action為wait才能夠執行

1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6
#系統在起動之後會製造出六個virtual console.Ctrl-Alt + F1 - F6 可在這六個 console 之間切換 init執行

rc.sysinit這個script檔(會起用swap space,將系統時間與CMOS硬體實間同步...等)接著執行 rc.serial (若它存在的話)。之後,跟據/etc/inittab中的initdefault決定預設runlevel,init再執行此預設 runlevel(一般為3 - Full multiuser mode)的所有scripts(/etc/rc.d/rc),rc會執行一系列放在/etcrc.d/rcX.d的檔案(X代表runlevel,一般為3也就是/etcrc.d/rc3.d,若runlevel為5則是/etcrc.d/rc.d)。
而在 /etc/rc.d/rc3.d/的檔案都是link到/etc/rc.d/init.d的script檔 ,這些script檔名都是Sooxxxx或Kooxxx。
以S開頭的script是用來啟動(Start),以K開頭的script是用來終止(Kill)。
oo代表00到99數字較低的先執行,xxxx表對應的服務。
ex: lrwxrwxrwx 1 root root 17 Oct 26 1999 S10network -> ../init.d/network
lrwxrwxrwx 1 root root 11 Oct 26 1999 S99local -> ../rc.local

S10network用來初始化網路的script
S99local它會等其他script檔都完成後才執行。因為99會最晚被執行。