Linux快速入門之:Linux文件及文件系統(tǒng)
1.3Linux文件及文件系統(tǒng)
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
在安裝完Linux之后,下面先對(duì)Linux中一些非常重要的概念做一些介紹,以便進(jìn)一步學(xué)習(xí)使用Linux。
1.3.1文件類型及文件屬性
1.文件類型
Linux中的文件類型與Windows有顯著的區(qū)別,其中最顯著的區(qū)別在于Linux對(duì)目錄和設(shè)備都當(dāng)作文件來進(jìn)行處理,這樣就簡化了對(duì)各種不同類型設(shè)備的處理,提高了效率。Linux中主要的文件類型分為4種:普通文件、目錄文件、鏈接文件和設(shè)備文件。
(1)普通文件。
普通文件同Windows中的文件一樣,是用戶日常使用最多的文件。它包括文本文件、shell腳本(shell的概念在第2章會(huì)進(jìn)行講解)、二進(jìn)制的可執(zhí)行程序和各種類型的數(shù)據(jù)。
(2)目錄文件。
在Linux中,目錄也是文件,它們包含文件名和子目錄名以及指向那些文件和子目錄的指針。目錄文件是Linux中存儲(chǔ)文件名的惟一地方,當(dāng)把文件和目錄相對(duì)應(yīng)起來時(shí),也就是用指針將其鏈接起來之后,就構(gòu)成了目錄文件。因此,在對(duì)目錄文件進(jìn)行操作時(shí),一般不涉及對(duì)文件內(nèi)容的操作,而只是對(duì)目錄名和文件名的對(duì)應(yīng)關(guān)系進(jìn)行操作。
另外,Linux系統(tǒng)中的每個(gè)文件都被賦予惟一的數(shù)值,而這個(gè)數(shù)值被稱作索引節(jié)點(diǎn)。索引節(jié)點(diǎn)存儲(chǔ)在一個(gè)稱作索引節(jié)點(diǎn)表(InodeTable)中,該表在磁盤格式化時(shí)被分配。每個(gè)實(shí)際的磁盤或分區(qū)都有自己的索引節(jié)點(diǎn)表。一個(gè)索引節(jié)點(diǎn)包含文件的所有信息,包括磁盤上數(shù)據(jù)的地址和文件類型。
Linux文件系統(tǒng)把索引節(jié)點(diǎn)號(hào)1賦予根目錄,這也就是Linux的根目錄文件在磁盤上的地址。根目錄文件包括文件名、目錄名及它們各自的索引節(jié)點(diǎn)號(hào)的列表,Linux可以通過查找從根目錄開始的一個(gè)目錄鏈來找到系統(tǒng)中的任何文件。
Linux通過目錄鏈接來實(shí)現(xiàn)對(duì)整個(gè)文件系統(tǒng)的操作。比如,把文件從一個(gè)磁盤目錄移到另一實(shí)際磁盤的目錄時(shí)(實(shí)際上是通過讀取索引節(jié)點(diǎn)表來檢測(cè)這種動(dòng)作的),這時(shí),原先文件的磁盤索引號(hào)被刪除,在新磁盤上建立相應(yīng)的索引節(jié)點(diǎn)。它們之間的相應(yīng)關(guān)系如圖1.5所示。
圖1.5目錄文件與索引節(jié)點(diǎn)關(guān)系
(3)鏈接文件。
鏈接文件有些類似于Windows中的“快捷方式”,但是它的功能更為強(qiáng)大。它可以實(shí)現(xiàn)對(duì)不同的目錄、文件系統(tǒng)甚至是不同的機(jī)器上的文件直接訪問,并且不必重新占用磁盤空間。
(4)設(shè)備文件。
Linux把設(shè)備都當(dāng)作文件一樣來進(jìn)行操作,這樣就大大方便了用戶的使用(在后面的Linux編程中可以更為明顯地看出)。在Linux下與設(shè)備相關(guān)的文件一般都在/dev目錄下,它包括兩種,一種是塊設(shè)備文件,另一種是字符設(shè)備文件。
n 塊設(shè)備文件是指數(shù)據(jù)的讀寫,它們是以塊(如由柱面和扇區(qū)編址的塊)為單位的設(shè)備,最簡單的如硬盤(/dev/hda1)等。
n 字符設(shè)備主要是指串行端口的接口設(shè)備。
2.文件屬性
Linux中的文件屬性如圖1.6如示。
圖1.6Linux文件屬性表示方法
首先,Linux中文件的擁有者可以把文件的訪問屬性設(shè)成3種不同的訪問權(quán)限:可讀(r)、可寫(w)和可執(zhí)行(x)。文件又有3個(gè)不同的用戶級(jí)別:文件擁有者(u)、所屬的用戶組(g)和系統(tǒng)里的其他用戶(o)。
第一個(gè)字符顯示文件的類型。
n “-”表示普通文件。
n “d”表示目錄文件。
n “l(fā)”表示鏈接文件。
n “c”表示字符設(shè)備。
n “b”表示塊設(shè)備。
n “p”表示命名管道,比如FIFO文件(FirstInFirstOut,先進(jìn)先出)。
n “f”表示堆棧文件,比如LIFO文件(LastInFirstOut,后進(jìn)先出)。
n “s”表示套接字。
第一個(gè)字符之后有三個(gè)三位字符組:
n 第一個(gè)三位字符組表示文件擁有者(u)對(duì)該文件的權(quán)限。
n 第二個(gè)三位字符組表示文件用戶組(g)對(duì)該文件的權(quán)限。
n 第三個(gè)三位字符組表示系統(tǒng)其他用戶(o)對(duì)該文件的權(quán)限。
n 若該用戶組對(duì)此沒有權(quán)限,一般顯示“-”字符。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)linux相關(guān)文章:linux教程
評(píng)論