欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

常用的Linux shell命令詳解收集整理

  發(fā)布時(shí)間:2010-04-27 13:15:29   作者:佚名   我要評(píng)論
最近搞palm和Android都是基于Linux平臺(tái)的應(yīng)用,經(jīng)常要用到一些shell 命令,所以就將相關(guān)的命令整理了一下,便于記憶和查詢(xún),部分內(nèi)容來(lái)源于網(wǎng)絡(luò)。

1 文件與目錄操作命令

1.1文件內(nèi)容查詢(xún)命令 grep、fgrep、egrep

語(yǔ)法:grep[選項(xiàng)][查找模式][文件名1,文件名2,……]

選項(xiàng):

-E 每個(gè)模式作為一個(gè)擴(kuò)展的正則表達(dá)式對(duì)待

-F 每個(gè)模式作為一組固定字符串對(duì)待,而不作為正則表達(dá)式

-i 比較時(shí)不區(qū)分大小寫(xiě)

-l 顯示首次匹配匹配串所在的文件名并用換行符將其分開(kāi)。當(dāng)在文件中多次出現(xiàn)匹配串時(shí),不重復(fù)顯示次文件名;

-x 只顯示整行嚴(yán)格匹配的行

1.2文件查找命令 find、locate

語(yǔ)法:

find 起始目錄 尋找條件 操作以名稱(chēng)和文件屬性查找

選項(xiàng): -name‘字串‘ 查找文件名匹配所給字串的所有文件,字串內(nèi)可用通配符*、?、[]。

-lname‘字串‘ 查找文件名匹配所給字串的所有符號(hào)鏈接文件,字串內(nèi)可用通配符*、?、[]。

-gid n 查找屬于ID號(hào)為n的用戶(hù)組的所有文件。

-uid n 查找屬于ID號(hào)為n的用戶(hù)的所有文件。

-group‘字串‘ 查找屬于用戶(hù)組名為所給字串的所有的文件。

-user‘字串‘ 查找屬于用戶(hù)名為所給字串的所有的文件。

-path‘字串‘ 查找路徑名匹配所給字串的所有文件,字串內(nèi)可用通配符*、?、[]。

-perm 權(quán)限 查找具有指定權(quán)限的文件和目錄,權(quán)限的表示可以如711、644。

-type x 查找類(lèi)型為 x的文件,

語(yǔ)法:locate 相關(guān)字

1.3文件的復(fù)制、刪除和移動(dòng)命令 文件復(fù)制命令

[選項(xiàng)] 源文件或目錄 目標(biāo)文件或目錄

選項(xiàng):

- a 通常在拷貝目錄時(shí)使用

-d 拷貝時(shí)保留連接

-f 刪除已經(jīng)存在的目標(biāo)文件而不提示

-i 和f選項(xiàng)相反

-p 此時(shí)cp除復(fù)制源文件內(nèi)容外,還將其修改的時(shí)間和訪(fǎng)問(wèn)權(quán)限也復(fù)制到新文件中

-r 若給出的源文件是一目錄文件,此時(shí)cp將遞歸復(fù)制該目錄下的所有的子目錄和文件,此時(shí)目標(biāo)文件必須為一個(gè)目錄名;

-l 不作拷貝,只是鏈接文件文件移動(dòng)命令

mv[選項(xiàng)] 源文件或目錄 目標(biāo)文件或目錄

-i 交互式操作

-f 禁止交互式操作文件刪除命令

[選項(xiàng)] 文件…

-f 忽略不存在的文件,從不給出提示

-r 指示rm將參數(shù)中列出的全部目錄和子目錄均遞歸地刪除

-i 進(jìn)行交互式刪除 1.4文件鏈接命令

ln [選項(xiàng)] 目標(biāo) [鏈接名] 或 ln [選項(xiàng)] 目標(biāo) 目錄

選項(xiàng):

- s 建立符號(hào)鏈接

1.5目錄的創(chuàng)建和刪除命令 mkdir 創(chuàng)建一個(gè)目錄

語(yǔ)法: [選項(xiàng)] dirname

選項(xiàng): - m 對(duì)新建目錄設(shè)置存取權(quán)限

-p 可以是一個(gè)路徑名稱(chēng)。此時(shí)若路徑中的某些目錄尚不存在,加上此選項(xiàng)后,系統(tǒng)將自動(dòng)建立好那些尚不存在的目錄,即一次可以建立多個(gè)目錄。

rmdir 刪除空目錄

語(yǔ)法: rmdir [選項(xiàng)] dirname

選項(xiàng):

- p 遞歸刪除目錄dirname,當(dāng)子目錄刪除后其父目錄為空時(shí),也一同被刪除。

1.6改變工作目錄,顯示目錄內(nèi)容命令

1、改變工作目錄: cd [directory]

2、顯示當(dāng)前工作的目錄的絕對(duì)路徑: pwd

3、顯示目錄內(nèi)容: ls [選項(xiàng)] [目錄或是文件]

選項(xiàng):

- a 顯示指定目錄下所有子目錄與文件,包括隱藏文件;

-c 按照文件的修改時(shí)間排序

-C 分成多列顯示各項(xiàng)

-d 如果參數(shù)是目錄,只顯示其名稱(chēng)而不顯示其下的個(gè)文件

-F 在目錄名后面標(biāo)記“/”,可執(zhí)行文件后面標(biāo)記“*”,符號(hào)鏈接后面標(biāo)記“@”,管道(或FIFO)后面標(biāo)記“|”,socket文件后面標(biāo)記“=”。

-l 以長(zhǎng)格式來(lái)顯示文件的詳細(xì)信息

-L 若指定的名稱(chēng)為一個(gè)符號(hào)鏈接,則顯示鏈接所指向的文件

-t 顯示時(shí)按修改時(shí)間而不是名字排序

-u 顯示時(shí)按文件上次存取的時(shí)間而不是名字排序

4、改變文件或目錄的訪(fǎng)問(wèn)權(quán)限命令chmod [who] [+| - | = ] [mode] 文件名?

Who選項(xiàng):

- u表示用戶(hù),即文件和目錄的所有者

-g表示同組用戶(hù)

-o(other)表示其他用戶(hù)

-a (all)表示所有用戶(hù)

操作符號(hào): + 添加某個(gè)權(quán)限 - 取消某個(gè)權(quán)限 = 賦予給定權(quán)限并取消其他所有的權(quán)限(如果有的話(huà))

mode 選項(xiàng):

- r 可讀

-w 可寫(xiě)

-x 可執(zhí)行 chgrp [-R] group filename? 改變目錄或文件所屬的組

chown [-Rv] 用戶(hù)或組 文件

1.7備份與壓縮命令

1、tar命令 為文件和目錄創(chuàng)建檔案語(yǔ)法:

tar [主選項(xiàng)+輔助選項(xiàng)] 文件或者目錄 : u 主選項(xiàng)

-c 創(chuàng)建新的檔案文件。如果用戶(hù)想備份一個(gè)目錄或是一些文件,則選此項(xiàng)

-r 把要存檔的文件追加到檔案文件的末尾

-t 列出檔案文件的內(nèi)容,查看已經(jīng)備份了哪些文件;

-u 更新文件

-x 從檔案文件中釋放文件;

-u 輔助選項(xiàng)

-b 該選項(xiàng)為磁帶機(jī)設(shè)定的,其后跟一位數(shù)字,用來(lái)說(shuō)明區(qū)塊的大小,系統(tǒng)預(yù)設(shè)值為20

-f 使用檔案文件或設(shè)備,這個(gè)選項(xiàng)通常是必選的

-k 保存已經(jīng)存在的文件。例如把某個(gè)文件還原,在還原的過(guò)程中,遇到相同的文件,不會(huì)進(jìn)行覆蓋;

-m 在還原文件時(shí),把所有文件的修改時(shí)間設(shè)定為現(xiàn)在;

-M 創(chuàng)建多卷的檔案文件,以便在幾個(gè)磁盤(pán)中存放;

-v 詳細(xì)報(bào)告tar處理的文件信息

-w 每一步都要求確認(rèn)

-z 用gzip來(lái)壓縮/解壓縮文件

2、gzip命令 壓縮/解壓縮命令

語(yǔ)法:gzip [選項(xiàng)] 壓縮(解壓縮)的文件名

選項(xiàng):

-c 將輸出寫(xiě)到標(biāo)準(zhǔn)輸出上,并保留原有文件

-d 將壓縮文件解壓

-l 顯示每個(gè)壓縮文件的詳細(xì)信息

-r 遞歸式地查找指定目錄并壓縮其中的所有文件或者是解壓縮

-t 測(cè)試、檢查壓縮文件是否完整

-v 對(duì)每一個(gè)壓縮和解壓的文件,顯示文件名和壓縮比

3、unzip 命令 用MS windows下的壓縮軟件winzip壓縮的文件在linux系統(tǒng)下展開(kāi)

語(yǔ)法:unzip [選項(xiàng)] 壓縮文件名.zip

選項(xiàng): -x 文件列表 解壓縮文件,但不包括指定的file文件

-v 查看壓縮文件目錄,但不解壓

-t 測(cè)試文件有無(wú)損壞 ,但不解壓

-d 目錄 將壓縮文件解到指定目錄下

-z 只顯示壓縮文件的注解

-n 不覆蓋已經(jīng)存在的文件

-o 覆蓋已經(jīng)存在的文件且不要求用戶(hù)確認(rèn)

-j 不重建文檔的目錄結(jié)構(gòu),把所有文件解壓到同一目錄下

1.8在LINUX環(huán)境下運(yùn)行DOS命令 linux系統(tǒng)提供了一組稱(chēng)為mtools的可移植工具,可以讓用戶(hù)輕松地從標(biāo)準(zhǔn)的DOS軟盤(pán)上讀寫(xiě)文件和目錄。

mcd 目錄名 改變MSDOS目錄 mcopy 源文件 目標(biāo)文件 在MSDOS和UNIX之間復(fù)制文件;

mdel 目錄名 刪除MSDOS目錄 mdir 目錄名 顯示MSDOS目錄 mformat 驅(qū)動(dòng)器號(hào) 在低級(jí)格式化的軟盤(pán)上創(chuàng)建MSDOS文件系統(tǒng) rnlabel 驅(qū)動(dòng)器號(hào) 產(chǎn)生MSDOS卷標(biāo) mmd 目錄名 刪除MSDOS目錄 mren 源文件 目標(biāo)文件 重新命名已存在的MSDOS文件 mtype 文件名 顯示MSDOS文件的內(nèi)容

2 設(shè)備管理命令

1)linux采用下面的形式定義一個(gè)IDE硬盤(pán):/dev/hd[drive][partition]

2)SCSI硬盤(pán)使用同樣的機(jī)制表示: /dev/sd[drive][partition]

3)對(duì)于一般的LINUX分區(qū),可以用mkfs將其格式化并生成文件系統(tǒng),命令如下: mk2fs –c

4)裝載文件系統(tǒng):

mount –t ext2 [-o optioms] partition mountpiont 其中,

-t為指定裝載文件系統(tǒng)的類(lèi)型;

-o指定一些選項(xiàng),如只讀ro,可讀可寫(xiě)rw等等; partition定義分區(qū)名稱(chēng); mountpiont定義文件系統(tǒng)被裝載的目錄名稱(chēng)。

5)裝載CD-ROM文件系統(tǒng):mount –t iso9660 –r /dev/cdrom /mnt/cdrom

6)裝載軟驅(qū)文件系統(tǒng): CODE:[Copy to clipboard]mount –t msdos –rw /dev/fd0 /dev/mnt/floppy

7)卸載文件系統(tǒng) CODE:[Copy to clipboard]umount /mnt/cdrom 磁帶設(shè)備的安裝要注意以下幾點(diǎn):

1、 首先要選擇一個(gè)唯一的SCSI ID號(hào),然后再將設(shè)備鏈接到適當(dāng)?shù)奈恢?

2、 選擇驅(qū)動(dòng)程序。

3、 生成設(shè)備文件。SCSI磁帶設(shè)備的主要設(shè)備號(hào)是9,次要設(shè)備號(hào)是0。設(shè)備文件名通常是/dev/nrst0(不支持回繞的磁帶設(shè)備)或/dev/nst0(支持回繞的磁帶設(shè)備) 用 ls /dev/*rst* 檢查磁帶設(shè)備文件是否存在,如果不存在,用 mknod –m 666 /dev/nrst0 c 9 9 mknod –m 666 /dev/rst0 c 9 0 生成

4、 可以對(duì)塊長(zhǎng)度、緩存、磁帶密度等參數(shù)進(jìn)行一些設(shè)置,例如 mt setblk 20 將塊長(zhǎng)度指定為20 mt setblk 0 指定塊程度沒(méi)有限制

5、 通過(guò)檢查系統(tǒng)的啟動(dòng)信息可以確定系統(tǒng)是否識(shí)別了新的磁帶設(shè)備。用dmesg命令,查看是否有以下類(lèi)似的信息: aha274x:target 4now synchronous at 4.4Mb/s Vendor:TANDBERG Model:TDC 3800 Rev: =05: Type: Sequential-Access ANSI SCSI revision: 02 Detected scsi tape st0 at scsi0, id4, lun0 Scsi : detected 1 SCSI tape 1 SCSI crom 1 SCSI disk total

3 軟件包管理命令

3.1軟件安裝的步驟 在LINUX系統(tǒng)上安裝軟件的步驟有:

1、 查找所要安裝軟件的源文件

2、 把源文件解開(kāi)放到一個(gè)目錄中,命令如下: tar zxvf <源文件名>;

3、 針對(duì)本操作系統(tǒng)配置源文件??梢允蔷庉媘ake文件或其他文件,也可能是運(yùn)行該軟件自帶的自動(dòng)配置工具,如./configure

4、 make源文件,通常是運(yùn)行make命令,即執(zhí)行 make

5、 安裝二進(jìn)制文件和其他支撐文件,運(yùn)行命令: make install

6、 最后,完成所有其他必須的配置

3.2軟件包管理命令 QUOTE: rpm –ivh <軟件包>; // 安裝指定的軟件包,并在安裝過(guò)程中用#表示安裝的進(jìn)度 rpm –Uvh <軟件包>; // 更新一個(gè)已經(jīng)存在的或還沒(méi)安裝好的軟件包,并刪除所有該軟件包的舊版本。 rpm –e //卸載一個(gè)rpm軟件包 rpm –qa // 查看系統(tǒng)中已經(jīng)安裝的軟件包 rpm –q <軟件包>; // 查看系統(tǒng)中某個(gè)軟件包的版本號(hào); rpm –qlp <軟件包>; //列出某個(gè)軟件包中的所有文件 rpm –qf <軟件包>; //找出一個(gè)文件屬于哪個(gè)軟件包

4 LINUX系統(tǒng)常用命令

4.1 與系統(tǒng)管理有關(guān)的命令 Wall (Write All)  對(duì)全部已 登錄的用戶(hù)發(fā)送信息,用戶(hù)可以先反要發(fā)送的信息寫(xiě)好存入一個(gè)文件中,然后輸入: # wall < FileName 例:Wall ‘Thank you !’ Write 向某一用戶(hù)發(fā)送信息。 Write xxq hello 輸入Ctrl+C組合即可終止 Shutdown命令 Shutdown [選項(xiàng)] [時(shí)間] [警告信息]

-k 并不真正關(guān)機(jī),而只是發(fā)出警告信息給所有的用戶(hù)。

-r 關(guān)機(jī)后立即重新啟動(dòng)。

-h 關(guān)機(jī)后不重新啟動(dòng)。

-f 快速關(guān)機(jī),啟動(dòng)時(shí)跳過(guò)fsck。

-n快速關(guān)機(jī),不經(jīng)過(guò)init程序。

-c 取消一個(gè)已經(jīng)運(yùn)行的shutdown 例:系統(tǒng)馬上關(guān)機(jī):Shutdown –h now Free命令查看當(dāng)前系統(tǒng)內(nèi)存的使用情況, CODE:[Copy to clipboard]Free [-b] [-k] [-m] CODE:[Copy to clipboard]-b 以字節(jié)為單位顯示。

-k 以K字節(jié)為單位顯示。

-m 以M字節(jié)為單位顯示。 Uptime QUOTE: 顯示系統(tǒng)已經(jīng)運(yùn)行了多長(zhǎng)的時(shí)間:現(xiàn)在時(shí)間、系統(tǒng)已經(jīng)運(yùn)行的時(shí)間、目前有多少登錄用戶(hù)、系統(tǒng)在過(guò)去的1分鐘、5分鐘和15分鐘內(nèi)的平均負(fù)載。

4.2與用戶(hù)有關(guān)的命令 Passwd命令設(shè)置、更換用戶(hù)口令。

Passwd [用戶(hù)名] Su 使一個(gè)普通的用戶(hù)具有超級(jí)用戶(hù)的權(quán)利,離開(kāi)可用EXIT命令。 4.3其它命令 Echo命令在顯示器上顯示一段文字,一般起到一個(gè)提示的作用。

echo [-n] 字符串 Cal命令顯示某年某月的日歷。

cal [選項(xiàng)] [月[年]]

選項(xiàng)的含義:

-j 顯示也給定月中的每一天是一年中的和幾天(從1月1日算起)。

-y 顯示也整年的日歷。 Date命令 date命令的功能是顯示和設(shè)置系統(tǒng)日期和時(shí)間。 4.4磁盤(pán)管理 磁盤(pán)空間管理 df命令檢查文件系統(tǒng)的磁盤(pán)空間占用局部。

Df [選項(xiàng)]

-a 顯示所有文件系統(tǒng)的磁盤(pán)使用情況,包括0塊(block)的文件系統(tǒng),如/proc文件系統(tǒng)。

-k 以K字節(jié)為單位顯示。

-i 顯示i節(jié)點(diǎn)信息,而不是磁盤(pán)塊。

- t 顯示各指定類(lèi)型的文件系統(tǒng)的磁盤(pán)空間使用情況。

-x 列出不是某一指定類(lèi)型文件系統(tǒng)的磁盤(pán)窨使用情況(與t相反)。

-T 顯示文件系統(tǒng)類(lèi)型。 du命令 du的英文原意為disk usage,含義為顯示磁盤(pán)空間的使用情況。功能是統(tǒng)計(jì)目錄(或文件)所占磁盤(pán)空間的大小。

du [選項(xiàng)] [Names…]

-s 對(duì)每人Names 參數(shù)只給也占用的數(shù)據(jù)塊總數(shù)。

-a 遞歸地顯示指定目錄中各文件用子孫目錄中的各文件占用的數(shù)據(jù)塊總數(shù)。

-b 以字節(jié)為單位列也磁盤(pán)窨使用情部(缺省以K字節(jié)為單位)

-k 以1024字節(jié)為單位列也磁盤(pán)空間使用情況。

-c 最后再加上一個(gè)總計(jì)(系統(tǒng)缺?。?

-l 計(jì)算所有的文件大小,對(duì)硬鏈接文件,則計(jì)算多次。

-x 跳過(guò)在不同文件系統(tǒng)上的目錄不予統(tǒng)計(jì)。 dd命令把指定的輸入文件拷貝到指定的輸出文件中,并且在拷貝的過(guò)程中可以進(jìn)行格式轉(zhuǎn)換。

語(yǔ)法: dd 〔選項(xiàng)〕  if =輸入文件(或設(shè)備名稱(chēng))。 of =輸出文件(或設(shè)備名稱(chēng))。 ibs = bytes 一次讀取bytes字節(jié),即讀入緩沖區(qū)的字節(jié)數(shù)。 skip = blocks 跳過(guò)讀入緩沖區(qū)開(kāi)頭的ibs*blocks塊。 obs = bytes 一次寫(xiě)入bytes字節(jié),即寫(xiě) 入緩沖區(qū)的字節(jié)數(shù)。 bs = bytes 同時(shí)設(shè)置讀/寫(xiě)緩沖區(qū)的字節(jié)數(shù)(等于設(shè)置obs和obs)。 cbs = bytes 一次轉(zhuǎn)換bytes字節(jié)。 count = blocks 只拷貝輸入的blocks塊。 conv = ASCII 把EBCDIC碼轉(zhuǎn)換為ASCII碼。 conv = ebcdic 把ASCII碼轉(zhuǎn)換為EBCDIC碼。 conv = ibm 把ASCII碼轉(zhuǎn)換為alternate EBCDIC碼。 conv = blick 把變動(dòng)位轉(zhuǎn)換成固定字符。 conv = ublock 把固定們轉(zhuǎn)換成變動(dòng)位 conv = ucase 把字母由小寫(xiě)變?yōu)榇髮?xiě)。 conv = lcase 把字母由大寫(xiě)變?yōu)樾?xiě)。 conv = notrunc 不截短輸出文件。 conv = swab 交換每一對(duì)輸入字節(jié)。 conv = noerror 出錯(cuò)時(shí)不停止處理。 conv = sync 把每個(gè)輸入記錄的大小都調(diào)到ibs的大?。ㄓ胕bs填充)。 fdformat命令低級(jí)格式化軟盤(pán)。

format [-n] device QUOTE: -n 格式化后不做檢驗(yàn)

4.5常用的網(wǎng)絡(luò)命令 FTP命令 Telnet命令。

Netstat命令

-a 顯示所有的scoket,包括正在監(jiān)聽(tīng)和。

-c 每隔1秒就重新顯示一遍,直到用戶(hù)中斷它。

-i 顯示所有網(wǎng)絡(luò)接口的信息,格式同”ifconfig –e”

-n 以網(wǎng)絡(luò)IP地址代替名稱(chēng),顯示也網(wǎng)絡(luò)連接情形。

-r 顯示核心路由表,格式同”route –e:。

-t 顯示TCP協(xié)議的連接情況。

-u 顯示UDP協(xié)議的連接情況。

-v 顯示正在進(jìn)行的工作。 nslookup命令。 finger命令,功能是查詢(xún)用戶(hù)的信息。 ping命令。(用戶(hù)和組的管理可以使用工具:TurboUserCfg或是XturboUserCfg。)

4.6有關(guān)進(jìn)程的命令。 進(jìn)程和啟動(dòng) at [-V] [-q] [-f文件名] [-mldbv]時(shí)間 at –c 作業(yè) [作業(yè)….] AT命令啟動(dòng)的進(jìn)程系統(tǒng)只執(zhí)行一次。 batch [-V] [-q 隊(duì)列] [-f 文件名] [-mv] [時(shí)間] 在系統(tǒng)負(fù)載較小時(shí),資源比較空閑時(shí)執(zhí)行。 cron命令按一定的時(shí)間間隔執(zhí)行命令。 crontab命令用于安裝、刪除或列出用于驅(qū)支cron后臺(tái)進(jìn)程的表格。進(jìn)程查看

who命令。 w命令是一個(gè)比who命令更強(qiáng)大的命令 w

–[husfV] [user] -h 不顯示標(biāo)題。

-u 當(dāng)列出當(dāng)前進(jìn)程和CPU時(shí)間時(shí)忽略用戶(hù)名。

-s 使用短模式。不顯示登錄時(shí)間JCPU和PCPU時(shí)間。

-f 切換顯示FROM項(xiàng),也就是遠(yuǎn)程主機(jī)名項(xiàng)。

-V 顯示版本信息。 user 只顯示指定用戶(hù)的情況。 ps命令。

-e 顯示所有進(jìn)程。

-f 全格式

-h 不顯示標(biāo)題。

-l 長(zhǎng)格式。

-w 寬輸出。 a 顯示終端上所有進(jìn)程,包括其他用戶(hù)的進(jìn)程。 r 只顯示正在運(yùn)行的進(jìn)程。 x 顯示沒(méi)有控制終端的進(jìn)程。 top 命令動(dòng)態(tài)顯示系統(tǒng)當(dāng)前的進(jìn)程和其他狀況。 5系統(tǒng)的啟動(dòng)過(guò)程。

5.1初始啟動(dòng) 在PC機(jī)啟動(dòng)時(shí),BIOS從指定的啟動(dòng)設(shè)備中讀入“主引導(dǎo)記錄”(MBR)。MBR的格式是:地址偏移量 內(nèi)容 大小 +00 h 可執(zhí)行的代碼(啟動(dòng)模塊) 可能變化 +1BE h 第一分區(qū)表項(xiàng) 16字節(jié) +1CE h 第二分區(qū)表項(xiàng) 16字節(jié) +1DE h 第三分區(qū)表項(xiàng) 16字節(jié) +1EE h 第四分區(qū)表項(xiàng) 16字節(jié) +1FE h 可執(zhí)行的標(biāo)記(AA55 h) 2字節(jié) 啟動(dòng)模塊包含足以裝入操作系統(tǒng)的代碼,或者是第二步的加載代碼的位置。啟動(dòng)模塊需要使用BIOS調(diào)用來(lái)從磁盤(pán)裝入數(shù)據(jù),而這些中斷調(diào)用,如INT 13h等,限制了最大磁盤(pán)柱面號(hào)為1023。這也就是說(shuō)啟動(dòng)模塊需要加載的一切內(nèi)容,如初始內(nèi)存磁盤(pán)、內(nèi)核、啟動(dòng)的時(shí)間信息等,必須存放在1024個(gè)柱面以?xún)?nèi)。在MBR中只有四個(gè)分區(qū)表項(xiàng),每個(gè)表項(xiàng)的格式如下: 地址偏移 內(nèi)容 大小 +00h 分區(qū)狀態(tài):00代表非啟動(dòng)分區(qū),80h代表啟動(dòng)分區(qū) 1字節(jié) +01h 分區(qū)的起始位置 磁頭 1字節(jié) +02h 分區(qū)的起始位置 柱面和扇區(qū) 1字節(jié) +04h 分區(qū)的類(lèi)型 1字節(jié) +05h 分區(qū)的結(jié)束位置 磁頭 1字節(jié) +06h 分區(qū)的結(jié)束位置 柱面和扇區(qū) 1字節(jié) +08h 在主引導(dǎo)區(qū)和本分區(qū)的第一個(gè)扇區(qū)間的扇區(qū)數(shù)目 4字節(jié) +0Ch 分區(qū)內(nèi)的扇區(qū)數(shù)目 4字節(jié)

5.2 Linux的啟動(dòng)過(guò)程

1啟動(dòng)的命令行參數(shù) 在Linux啟動(dòng)時(shí),它處理所有傳遞給它的命令行參數(shù)。這可以影響Linux的運(yùn)行方式。

命令行參數(shù)包括: mem=xxxM:定Linux可以使用的內(nèi)存大小。這在用戶(hù)的計(jì)算機(jī)系統(tǒng)有超過(guò)64MB的內(nèi)存時(shí)才需要。因?yàn)閺那暗闹靼逯粚?duì)第一個(gè)64MB內(nèi)存進(jìn)行緩存,使用超過(guò)64MB的內(nèi)存會(huì)使整個(gè)計(jì)算機(jī)的性能下降,所有內(nèi)存均按無(wú)緩存的速度運(yùn)行。 single:使Linux按單用戶(hù)方式啟動(dòng),缺省方式是多用戶(hù)方式。 root=/dev/xxx:指定Linux要安裝為根文件系統(tǒng)的設(shè)備。 init=;:指定作為初始化進(jìn)程的文件。 initrd=;:指定作為初始內(nèi)存磁盤(pán)的設(shè)備。 ro:指定根文件系統(tǒng)為只讀。 rw:指定根文件系統(tǒng)為可讀可寫(xiě)。

2 Init進(jìn)程 在內(nèi)核初始化自身和找到的硬件設(shè)備后,在后臺(tái)啟動(dòng)進(jìn)程init(/sbin/init),init進(jìn)程號(hào)1運(yùn)行。在UNIX世界中有許多啟動(dòng)過(guò)程的版本,一些是基于系統(tǒng)V,一些是基于BSD。大多數(shù)Linux版本使用系統(tǒng)V的實(shí)現(xiàn)方法,在這里描述的就是這樣。 init是由文件/etc/inittab內(nèi)容和功能控制的,隨啟動(dòng)模式是單用戶(hù)或多用戶(hù)而不同。 QUOTE: 單用戶(hù)模式:init進(jìn)程忽略/etc/inittab文件,在執(zhí)行少數(shù)幾個(gè)腳本程序后調(diào)用/dev/console shell。這樣,用戶(hù)就可以有了一個(gè)shell,而且可以執(zhí)行一定限度的任務(wù)。多用戶(hù)模式:init進(jìn)程把系統(tǒng)帶入/etc/inittab文件指定的運(yùn)行級(jí)別。Init通過(guò)標(biāo)準(zhǔn)的Linux方法進(jìn)入一個(gè)指定的進(jìn)行級(jí)別。

3.進(jìn)行級(jí)別 Linux與其他UNIX操作系統(tǒng)一樣,可以任何時(shí)刻處于任何一個(gè)運(yùn)行級(jí)別。這些運(yùn)行級(jí)別提供的功能不同,為主要是由于其運(yùn)行的服務(wù)方程序(后臺(tái)daemon)的不同造成的。Linux共有6種運(yùn)行級(jí)別。

0:關(guān)閉計(jì)算機(jī)或終止計(jì)算機(jī)運(yùn)行,這個(gè)級(jí)別就是系統(tǒng)停止運(yùn)行。

1:?jiǎn)斡脩?hù)啟動(dòng)級(jí)別,系統(tǒng)只有一個(gè)用戶(hù),就是root,該用戶(hù)在控制臺(tái)登錄。

2:多用戶(hù)運(yùn)行級(jí)別,但無(wú)網(wǎng)絡(luò)功能。在這個(gè)運(yùn)行級(jí)別,網(wǎng)絡(luò)功能沒(méi)有啟動(dòng),但是系統(tǒng)允許多個(gè)用戶(hù)登錄,可以通過(guò)虛擬控制臺(tái)或串行線(xiàn)路。

3:多用戶(hù)模式,有網(wǎng)絡(luò)功能。在這個(gè)運(yùn)行級(jí)別,所有標(biāo)準(zhǔn)網(wǎng)絡(luò)服務(wù)均被啟動(dòng)。

4:目前沒(méi)有實(shí)現(xiàn)。

5:X11運(yùn)行級(jí)別,在這個(gè)運(yùn)行級(jí)別,X服務(wù)器軟件運(yùn)行,提供圖形界面的登錄方式。

6:系統(tǒng)重新啟動(dòng)。查詢(xún)當(dāng)前運(yùn)行級(jí)別:runlevel;

4在啟動(dòng)過(guò)程中運(yùn)行的腳本在init進(jìn)程運(yùn)行時(shí),它負(fù)責(zé)查看缺省的運(yùn)行級(jí)別,并進(jìn)入該運(yùn)行級(jí)別。這是通過(guò)運(yùn)行在/etc/rc.d/rcX.d目錄下的腳本程序來(lái)實(shí)現(xiàn)的,其中X代表運(yùn)行的級(jí)別,即一個(gè)運(yùn)行級(jí)別對(duì)應(yīng)一個(gè)目錄。不同的字母開(kāi)頭的文件有不同的作用。其中:以K開(kāi)頭的腳本程序是系統(tǒng)離開(kāi)某個(gè)運(yùn)行級(jí)別時(shí)執(zhí)行的,作用是停止某種服務(wù)。當(dāng)系統(tǒng)從某個(gè)支持級(jí)別變?yōu)槠渌?jí)別時(shí),首先要進(jìn)行原運(yùn)行級(jí)別所對(duì)應(yīng)的所有K程序。以S開(kāi)頭的腳本程序是系統(tǒng)進(jìn)入某個(gè)運(yùn)行級(jí)別時(shí)所執(zhí)行的,作用是啟動(dòng)某種服務(wù)。當(dāng)系統(tǒng)改變?yōu)槟硞€(gè)運(yùn)行級(jí)別時(shí),就要運(yùn)行新運(yùn)行級(jí)別所對(duì)應(yīng)的所有S程序。

5增加啟動(dòng)腳本程序用戶(hù)可能有一些特定的硬件設(shè)備要初始化,或需要在系統(tǒng)啟動(dòng)時(shí)初始化一些其他應(yīng)用程序,用戶(hù)可以增加自己的初始化腳本程序來(lái)完成這些工作。通常步驟是:復(fù)制一個(gè)已經(jīng)存在的腳本,這樣可以得到一個(gè)通用的框架格式。修改這個(gè)腳本,以完成自己的需求,要注意使程序可以處理啟動(dòng)和關(guān)閉的參數(shù),盡管可能關(guān)閉處理什么也不需要干。把這個(gè)肢本拷貝到/etc/rc.d/init.d目錄下,命名為”serv”。按下面的方法在相應(yīng)的目錄下建立運(yùn)行控制鏈接: CODE:[Copy to clipboard]ln –s ../init.d/serv/etc/rc.d/rc3.d/s99 serv 進(jìn)行測(cè)試。

6 LILO和其他的啟動(dòng)模塊要啟動(dòng)Linux,啟動(dòng)模塊是必須的。一般用于Linux的啟動(dòng)模塊是LILO,LILO用自己的主引導(dǎo)區(qū)代替一般的主引導(dǎo)區(qū)。LILO可以通過(guò)修改/etc/lilo.conf文件內(nèi)容來(lái)進(jìn)行配置,對(duì)引導(dǎo)區(qū)內(nèi)容的更新通過(guò)lilo命令來(lái)完成。下面給也了一個(gè)裝有DOS,TurboLinux3.4.0和RedHat

5.2系統(tǒng)的計(jì)算機(jī)的lilo.conf文件。

在例子中的數(shù)字標(biāo)號(hào)是用戶(hù)加上去并要在文中詳細(xì)解釋的。 CODE:[Copy to clipboard]# more /etc/lilo.conf boot=dev/had map=/boot/map instll/boot/boot.b prompt #表示啟動(dòng)盤(pán)是/dev/had,這是主IDE硬盤(pán)。 timeout=50 #表示等待用戶(hù)輸入的時(shí)間是50秒。 default=TL3.4 other=dev/hda1 #表示如果在上述的時(shí)間內(nèi)沒(méi)有輸入,缺省的啟動(dòng)系統(tǒng)是TL3.4,即TurboLinux 3.4.0 label=dos table=dev/had #表示如果在LILO提示用戶(hù)輸入啟動(dòng)系統(tǒng)時(shí),用戶(hù)按了;鍵,各個(gè)系統(tǒng)將以label的內(nèi)容顯示出來(lái),供用戶(hù)選擇。 image=/mnt/tl3.4/boot/vmlinuz label=TL3.4 root=/dev/hda3 read-only TurboLinux的啟動(dòng)文件,/mnt/tl3.4/boot/vmlinuz被確定,根文件系統(tǒng)在/dev/hda3,根文件系統(tǒng)是只讀方式的。 CODE:[Copy to clipboard]image=/mnt/rh5.2/boot/vmlinuz-2.0.36-0.7 label=RH5.2 root=/dev/hda4 read-only RedHat的啟動(dòng)文件,/mnt/rh5.2/boot/vmlinuz-2.0,36-0.7被確定,根文件系統(tǒng)在/dev/hda4,根文件系統(tǒng)可讀寫(xiě)。

相關(guān)文章

最新評(píng)論