資源描述:
《文件系統(tǒng)、磁盤(pán)和其他設(shè)備》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、下載第三部分系統(tǒng)管理第15章文件系統(tǒng)、磁盤(pán)和其他設(shè)備本章內(nèi)容:¥字符設(shè)備¥塊設(shè)備¥文件系統(tǒng)¥mount命令¥使用usermounttool加載文件系統(tǒng)¥設(shè)置文件系統(tǒng)¥創(chuàng)建新的文件系統(tǒng)¥使用fsconf在圖形界面中創(chuàng)建和編輯文件系統(tǒng)¥修復(fù)文件系統(tǒng)¥硬件¥字符設(shè)備在UNIX(和Linux)的設(shè)計(jì)中,最簡(jiǎn)單也是最優(yōu)秀的特性之一,是它把所有內(nèi)容都表示為文件,甚至用來(lái)存放文件的設(shè)備也被表示成了文件。硬件設(shè)備與提供文件接口的驅(qū)動(dòng)器相關(guān)聯(lián),代表硬件設(shè)備的特殊文件(或者也可直接稱(chēng)為設(shè)備)被保存在/dev目錄中,設(shè)備可分為塊設(shè)備(
2、blockdevice)和字符設(shè)備(Characterdevice)。15.1字符設(shè)備字符設(shè)備指的是能夠從它那里讀取成字符序列的設(shè)備,例如,從鍵盤(pán)輸入的按鍵序列或通過(guò)串行線路發(fā)送的字節(jié)序列;塊設(shè)備指的是用來(lái)存儲(chǔ)數(shù)據(jù)并對(duì)它的各部分內(nèi)容提供同等訪問(wèn)權(quán)的設(shè)備,例如軟盤(pán)和硬盤(pán)就是塊設(shè)備。字符設(shè)備有時(shí)又被稱(chēng)為順序訪問(wèn)設(shè)備一樣,塊設(shè)備有時(shí)又被稱(chēng)為隨機(jī)訪問(wèn)設(shè)備。利用塊設(shè)備,可以從硬盤(pán)的任何隨機(jī)位置獲取數(shù)據(jù);而利用字符設(shè)備,則必須按照數(shù)據(jù)發(fā)送的順序從串行線路上獲取。當(dāng)對(duì)某個(gè)文件執(zhí)行一定的操作時(shí),內(nèi)核可以根據(jù)此文件的文件模式(而不
3、是它的位置)辨別出它是否是一個(gè)設(shè)備。每個(gè)設(shè)備節(jié)點(diǎn)可以通過(guò)它具有的不同主次設(shè)備號(hào)選行區(qū)分。主設(shè)備號(hào)用來(lái)向內(nèi)核表明這一設(shè)備節(jié)點(diǎn)所代表的驅(qū)動(dòng)器的類(lèi)型(例如,主設(shè)備號(hào)為3的塊設(shè)備是IDE磁盤(pán)驅(qū)動(dòng)器;主設(shè)備號(hào)為8的塊設(shè)備是SCSI磁盤(pán)驅(qū)動(dòng)器)。每個(gè)驅(qū)動(dòng)器負(fù)責(zé)管理它所驅(qū)動(dòng)的幾個(gè)硬件實(shí)例,這些硬件實(shí)例由次設(shè)備號(hào)的值來(lái)表示。例如,次設(shè)備號(hào)為0的SCSI磁盤(pán)代表整個(gè)也可以說(shuō)是“第一個(gè)”SCSI磁盤(pán),而次設(shè)備號(hào)為1到15的磁盤(pán)代表此SCSI磁盤(pán)上的15個(gè)分區(qū)。利用ls命令可以顯示出磁盤(pán)的主次設(shè)備號(hào):262第三部分系統(tǒng)管理下載在此ls
4、-1命令中,包含了一個(gè)難以理解的選項(xiàng)(--sort=none),這個(gè)選項(xiàng)用來(lái)確保設(shè)備能夠按照正確的次序顯示。如果只利用ls-1,這些設(shè)備將按照字母順序進(jìn)行排列,那么/dev/sda10就要被放在/dev/sda2之前了。在每一行中最左端的b表明了這些設(shè)備都是塊設(shè)備(字符設(shè)備利用c來(lái)表示)。主設(shè)備號(hào)和次設(shè)備號(hào)位于時(shí)間字段的前面,它們之間由逗號(hào)分開(kāi)(在對(duì)一般文件的ls-l輸出中,這一位置通常顯示的是文件的大小)。15.2塊設(shè)備如果只有一個(gè)數(shù)據(jù)文件要存儲(chǔ),可以直接把它存放在某個(gè)塊設(shè)備上來(lái)供以后讀取。塊設(shè)備雖然具有一定的
5、固定容量,但還是需要一些方法來(lái)標(biāo)記數(shù)據(jù)的結(jié)束。塊設(shè)備在大部分方面的表現(xiàn)類(lèi)似于普通文件,所不同的是普通文件具有由它包含的數(shù)據(jù)量所確定的文件長(zhǎng)度,而塊設(shè)備的“長(zhǎng)度”則是它的整個(gè)容量。如果在一個(gè)100MB的塊設(shè)備上寫(xiě)入了1MB的數(shù)據(jù),那么在讀取它的內(nèi)容時(shí),將會(huì)得到1MB數(shù)據(jù),并且還跟有它以前的99MB內(nèi)容。需要注意的一點(diǎn)是,有些UNIX工具是針對(duì)于數(shù)據(jù)文件中可用數(shù)據(jù)的數(shù)量而不是文件的整個(gè)長(zhǎng)度進(jìn)行編碼的,因此,適合于直接在塊設(shè)備上存儲(chǔ)數(shù)據(jù)。例如:適合于所有人使用的tar和cpio,以及只適合于系統(tǒng)管理員使用dump(因?yàn)?/p>
6、它需要對(duì)備份數(shù)據(jù)底層的塊設(shè)備進(jìn)行讀取)。要想把你的主目錄下的所有內(nèi)容備份到軟盤(pán)上,可利用如下命令:find和cpio的-print0和-0選項(xiàng)用來(lái)確保find傳遞給cpio的備份文件的名字由ASCII碼的NUL分開(kāi),而不是由換行符分開(kāi),這確保了包含換行符的文件名能夠被正確備份。注意在UNIX文件名中,唯一不合法的字符是斜線和ASCII碼的NUL。這些備份工具原本是為了把備份寫(xiě)到任何類(lèi)型的文件而編寫(xiě)的。但實(shí)際上,它們是為按順序訪問(wèn)的字符設(shè)備(例如,磁帶驅(qū)動(dòng)器)所設(shè)計(jì)的。15.3文件系統(tǒng)當(dāng)具有多個(gè)數(shù)據(jù)文件時(shí),很有必要
7、采用一些方法來(lái)組織設(shè)備上的文件,這些方法被稱(chēng)為文件系統(tǒng)。Linux允許選擇任何一種組織方法在存儲(chǔ)設(shè)備上安排文件。例如,你可以在軟盤(pán)上使第15章文件系統(tǒng)、磁盤(pán)和其他設(shè)備263下載用msdos文件系統(tǒng),而在硬盤(pán)使用存取速度較快的ext2文件系統(tǒng)。Linux支持許多不同的文件系統(tǒng),使用最多的文件系統(tǒng)是ext2文件系統(tǒng),因?yàn)樗菍?zhuān)門(mén)為L(zhǎng)inux而設(shè)計(jì)的,并且非常高效;支持其他文件系統(tǒng)是為了與其他系統(tǒng)兼容,在軟盤(pán)上一般使用msdos和vfat文件系統(tǒng)(它們是MS-DOS和Windows95固有的文件系統(tǒng))。在RedHatL
8、inux6.0中,一些文件系統(tǒng)被編譯在內(nèi)核中:還有一些文件系統(tǒng)可以作為可裝載的模塊被使用:在這些文件系統(tǒng)中,有一些(nfs、ncpfs和smbfs)是不依賴(lài)于塊設(shè)備的網(wǎng)絡(luò)文件系統(tǒng)。網(wǎng)絡(luò)文件系統(tǒng)將在第17章“TCP/IP網(wǎng)絡(luò)管理”中介紹。此外,還有一些是Linux雖然支持但在標(biāo)準(zhǔn)內(nèi)核中并沒(méi)有被提供的文件系統(tǒng)(例如,NTFS)。15.4mount命令要把一個(gè)塊設(shè)備安裝到文件系