- 論壇徽章:
- 0
|
在UNIX系統(tǒng)中,文件的存儲(chǔ)借助于存儲(chǔ)介質(zhì),如磁盤,軟磁盤,光盤等而得以存儲(chǔ)的。因此在UNIX系統(tǒng)中。掌握如何有效地對(duì)存儲(chǔ)介質(zhì)加以使用,是一項(xiàng)非常重要的技術(shù)。
※如何查看系統(tǒng)中存儲(chǔ)空間的使用情況。
※如何在軟盤,磁帶這類設(shè)備上生成文件系統(tǒng)。
存儲(chǔ)空間的使用情況
在建立好一個(gè)文件系統(tǒng)并使之可用之后。隨著用戶在其上新建文件、修改文件或者刪除文件,該文件系統(tǒng)的空閑inode數(shù)、空閑數(shù)據(jù)塊等會(huì)相應(yīng)地減少或者增多。如果文件系統(tǒng)的空閑空間減少到一定的程度,系統(tǒng)響應(yīng)速度會(huì)大幅度下降甚至無法工作。這時(shí),就需要對(duì)各文件系統(tǒng)的使用情況進(jìn)行調(diào)查,然后采取相應(yīng)的對(duì)策。
1.文件系統(tǒng)空閑情況的統(tǒng)計(jì)
在文件系統(tǒng)中,索引節(jié)點(diǎn)數(shù)和數(shù)據(jù)塊數(shù)是兩個(gè)至關(guān)重要的參數(shù)。當(dāng)某個(gè)文件系統(tǒng)索引節(jié)點(diǎn)或數(shù)據(jù)塊全部被占滿是,將無法在在此文件系統(tǒng)上建立任何文件。這是一件比較可怕的事。為了使用戶能方便地了解系統(tǒng)中每個(gè)文件系統(tǒng)中還剩下多少可用的索引節(jié)點(diǎn)和數(shù)據(jù)塊,系統(tǒng)為我們提供了df命令。
df命令為disk free的縮寫。df可以單獨(dú)使用,也可以帶參數(shù)。具體使用你可以參考聯(lián)機(jī)幫助。
2.磁盤空間占用情況
在文件系統(tǒng)滿了或者我們希望得知某個(gè)目錄或文件對(duì)文件系統(tǒng)存儲(chǔ)空間的使用情況時(shí),可以使用du命令。
du命令為disk usage的縮寫。在使用這個(gè)命令時(shí)可以指定一個(gè)或多個(gè)目錄,如:
$ du /home/yxz
2 ??? /home/yxz/Unix.dir
10??? /home/yxz
$
使用上述命令,就能查出系統(tǒng)中某個(gè)用戶占用了多少磁盤空間(假定用戶只能在他的HOME目錄下建立文件)。
如果沒有指定文件或目錄名的情況下,du將顯示當(dāng)前目錄占用的磁盤空間的情況。顯示出的信息中包含有指定目錄下所有的各個(gè)子孫目錄,磁盤空間的使用情況。若要得知每個(gè)子目錄及文件的信息,可以加上-a選項(xiàng)。
若只想知道指定的目錄占用磁盤空間的總數(shù),可以使用-S選項(xiàng)。
還有一些其它的選項(xiàng)可以參考幫助手冊(cè)。
用戶占用文件系統(tǒng)空間的統(tǒng)計(jì)
系統(tǒng)中的每個(gè)文件都有相應(yīng)的擁有者。在某些情況下我們需要知道在某個(gè)文件系統(tǒng)上,每個(gè)用戶各占用多少存儲(chǔ)空間。為此可以使用quot命令。
quot是quotient的縮寫。它可接受一個(gè)文件系統(tǒng)名(塊設(shè)備文件名)作為參數(shù),然后統(tǒng)計(jì)出在該文件系統(tǒng)中建立有文件的各個(gè)用戶所占用的磁盤塊的數(shù)目。如:
# quot /dev/dsk/0s4
/dev/dsk/0s4:
82883 ?sybase
?340? vmsys
158 ??yxz
28 ?? oasys
14???root
2??? xyz
3??? yxz
1??? install
注意,此命令只能供超級(jí)用戶使用。
存儲(chǔ)介質(zhì)上的文件系統(tǒng)
文件系統(tǒng)的物理基礎(chǔ)就是系統(tǒng)所使用的各種存儲(chǔ)介質(zhì),如磁盤、軟盤,CD-ROM、磁帶,等等。
UNIX對(duì)其各種存儲(chǔ)設(shè)備用一種統(tǒng)一的方法對(duì)待,那就是每個(gè)物理設(shè)備都是文件系統(tǒng)中的文件。當(dāng)然這種文件比較特殊,被稱為設(shè)備特殊文件(Device
Special File),這些文件被組織在文件系統(tǒng)樹的/dev目錄下。
本節(jié)將介紹UNIX如何組織各種存儲(chǔ)設(shè)備;如何對(duì)這些設(shè)備進(jìn)行初始化(格式化);以及如何將特定設(shè)備上的文件系統(tǒng)“掛接”到系統(tǒng)的文件系統(tǒng)樹上,以及如何將其從文件系統(tǒng)樹上“摘下來”。
存儲(chǔ)介質(zhì)的組織方式
每一種特性的物理設(shè)備在文件系統(tǒng)中都占據(jù)有一個(gè)相應(yīng)的節(jié)點(diǎn),即具有一個(gè)文件名稱。這里介紹UNIX是如何組織硬盤、軟盤、磁帶、CD-ROM這些常用的存儲(chǔ)設(shè)備的。
1.硬盤的組織
我們知道,硬盤時(shí)一種塊設(shè)備。也就是說,它每次同其它設(shè)備的數(shù)據(jù)交換均是以一個(gè)數(shù)據(jù)塊(通常為512字節(jié))為單位的。這樣硬盤的存儲(chǔ)空間也就是從0號(hào)塊到最大塊號(hào)。例如一個(gè)1GB的硬盤上,將會(huì)有2M個(gè)數(shù)據(jù)塊。其編號(hào)將是從0至2的21次方-1。
對(duì)一個(gè)硬盤,可以對(duì)之進(jìn)行“分區(qū)”操作。在硬盤的各個(gè)分區(qū)中,只有一個(gè)分區(qū)是“活動(dòng)的”。也就是說,接通電源后機(jī)器將從活動(dòng)分區(qū)中被引導(dǎo)從而進(jìn)入相應(yīng)的操作系統(tǒng)狀態(tài)。
進(jìn)行硬盤分區(qū)的實(shí)用程序是名為fdisk。在那里還可以指定活動(dòng)分區(qū)。由于此命令只能供系統(tǒng)管理員使用,所以在此不做介紹。
每個(gè)硬盤分區(qū)實(shí)際上就相當(dāng)于一個(gè)獨(dú)立的硬盤。所以在下面的敘述中我們就假定沒有對(duì)硬盤進(jìn)行分區(qū)。
硬盤在使用前要進(jìn)行格式化操作。這個(gè)操作主要是在硬盤上寫上有關(guān)存取數(shù)據(jù)和管理用的信息。不同種類的UNIX,格式化操作的具體內(nèi)部動(dòng)作是不一樣的。用戶不用理它,格式化好之后,呈現(xiàn)在用戶面前的硬盤才是若干編號(hào)連續(xù)的存儲(chǔ)塊。下面的問題是如何對(duì)這些存儲(chǔ)塊進(jìn)行管理了。
我們可以把整個(gè)存儲(chǔ)空間分成若干個(gè)段。每一段內(nèi)存儲(chǔ)塊的編號(hào)都是連續(xù)的。各段首尾相鄰,但任何段都不運(yùn)允許有交叉。(這一操作類似于硬盤的分區(qū))然后可以為每段存儲(chǔ)塊指定一個(gè)名稱,系統(tǒng)將用指定的名稱在/dev目錄下建立一個(gè)文件。此時(shí)這個(gè)文件所表示的就是該段連續(xù)的存儲(chǔ)空間了。
在對(duì)每一個(gè)分段命名后,我們就得到相應(yīng)的設(shè)備文件,此時(shí)就可以用此設(shè)備文件來在相應(yīng)的磁盤段上建立文件系統(tǒng)了。
2. 軟盤、磁帶、CD-ROM的組織方式
上述三種存儲(chǔ)設(shè)備因?yàn)槠鋽y帶方便,易于保存,并且磁帶和CD-ROM還具有存儲(chǔ)量大(海量存儲(chǔ))的特點(diǎn),因而在計(jì)算機(jī)系統(tǒng)中被廣泛使用。在UNIX系統(tǒng)中這些設(shè)備也被按文件的組織方式加以組織。
但由于此類設(shè)備的多樣性以及存取格式、存取方式的不同,使得對(duì)此類設(shè)備的使用也復(fù)雜起來。舉例來說,對(duì)于軟盤就有好多種不同的類型,如3.5英寸,5.25英寸,有高密的,也有低密的,有的軟盤上有引導(dǎo)塊,有的沒有,等等。并且在對(duì)它們進(jìn)行訪問的時(shí)候,有時(shí)不必格式化就可以訪問,有些命令則只能訪問格式化后的設(shè)備。
系統(tǒng)為上述特點(diǎn)進(jìn)行區(qū)分,采取得方法是:對(duì)不同存取特征的組合設(shè)定不同的設(shè)備文件名。在需要按某種特征組合去訪問相關(guān)介質(zhì)時(shí),指定相應(yīng)的設(shè)備文件名即可。
對(duì)于磁帶和CD-ROM等設(shè)備,系統(tǒng)對(duì)它們的組織方式與軟盤類似,也是用不同的名稱代表不同的格式的設(shè)備。例如在Sun
0S上,用/dev/rmt/?代表1/2英寸磁帶設(shè)備,而用/dev/rst/?代表scsi磁帶。對(duì)于CD-ROM,其名稱則是/dev/rdsk/c0t6d0s0。在使用磁帶和CD-ROM時(shí),如果發(fā)現(xiàn)用指定的名稱不能正確訪問數(shù)據(jù),那么可換其它格式試試。如果所有的格式都不能完成任務(wù),那么表明系統(tǒng)不支持所用的設(shè)備。
存儲(chǔ)介質(zhì)上文件系統(tǒng)的使用
對(duì)于軟盤,磁帶,和CD-ROM地的使用,一種方法就是先在其上生成某種類型的文件系統(tǒng),然后將該文件系統(tǒng)安裝到文件系統(tǒng)樹的某個(gè)節(jié)點(diǎn)三。這樣以后我們就能用常規(guī)的文件操作命令,如mkdir,rmdir,cp,mv,rm等在相應(yīng)的存儲(chǔ)介質(zhì)上建立并且存儲(chǔ)文件。
1.介質(zhì)的格式化
軟盤、磁帶等存儲(chǔ)設(shè)備在使用之前都要進(jìn)行格式化操作(CD-ROM由于其只讀的特殊性,無需格式化,也無法對(duì)之格式化)。格式化的操作的具體內(nèi)容隨UNIX操作系統(tǒng)的不同而有較大的差異。但總的來說,它們都要在存儲(chǔ)介質(zhì)上的某些存儲(chǔ)區(qū)域中寫入一些操作系統(tǒng)訪問該介質(zhì)所必不可少的管理信息,這之外的那些存儲(chǔ)區(qū)域才被用來存放用戶數(shù)據(jù)。并且在格式化的過程中,一般還要對(duì)存儲(chǔ)介質(zhì)上的存儲(chǔ)區(qū)域進(jìn)行校驗(yàn),看看其中有沒有被損壞的地方。
不同系統(tǒng)提供的格式化工具也不盡相同。例如在AT&T UNIX System VR 4.0上的格式化命令為format。
2.介質(zhì)上文件系統(tǒng)的生成
這里我們所講述的內(nèi)容主要也是針對(duì)軟盤和磁帶這些存儲(chǔ)介質(zhì)的。CD-ROM
因?yàn)樵谧骱弥,它上面的文件系統(tǒng)實(shí)際上也就算是生成了,因此也就不用我們?cè)偕。另外并不是所有的磁帶上都可以生成文件系統(tǒng)。
大多數(shù)UNIX系統(tǒng)中提供的生成文件系統(tǒng)的命令均為mkfs.mkfs命令要求提供一個(gè)裸設(shè)備文件名作為參數(shù)。并且在命令行中我們還可以指定文件系統(tǒng)的索引節(jié)點(diǎn)數(shù)和數(shù)據(jù)塊數(shù)目。另外債命令行中我們還可以指定所建文件系統(tǒng)的類型。每種UNIX系統(tǒng)支持的文件系統(tǒng)類型的數(shù)量也不同,但S5,UFS等這類比較通用的文件系統(tǒng)都還是支持的,讀者可以自己看看所用的機(jī)器上都支持哪些種類的文件系統(tǒng)。在我們不指定文件系統(tǒng)類型的時(shí)候,系統(tǒng)會(huì)在指定設(shè)備上建立一種缺省的文件系統(tǒng)。
3.文件系統(tǒng)的安裝
在一個(gè)文件系統(tǒng)建立好之后,還并不能馬上就使用它。在使用之前必須先將它“掛接”到系統(tǒng)的文件系統(tǒng)樹上某個(gè)節(jié)點(diǎn)處。這種操作被稱為文件系統(tǒng)的安裝。具體的細(xì)節(jié)請(qǐng)看UNIX系統(tǒng)管理的文件系統(tǒng)部分。
4.文件系統(tǒng)的拆卸
具體的細(xì)節(jié)請(qǐng)看UNIX系統(tǒng)管理的文件系統(tǒng)部分
本文來自ChinaUnix博客,如果查看原文請(qǐng)點(diǎn):http://blog.chinaunix.net/u2/84425/showart_2069333.html |
|