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