天天看點

linux檔案類型說明

1. 檔案類型

檔案屬性字段總共有10個字母組成;第一個字元代表檔案的類型。

字母“b”的表示塊裝置檔案,一般置于/dev目錄下,裝置檔案是普通檔案和程式通路硬體裝置的入口,是很特殊的檔案。沒有檔案大小,隻有一個主裝置号和一個輔裝置号。一次傳輸資料為一整塊的被稱為塊裝置,如硬碟、CD光牒等。最小資料傳輸機關為一個資料塊(通常一個資料塊的大小為512位元組)

字母為“c”表示該檔案是一個字元裝置檔案(character),一般置于/dev目錄下,一次傳輸一個位元組的裝置被稱為字元裝置,如鍵盤、字元終端等,傳輸資料的最小機關為一個位元組。

字母為“p”表示該檔案為指令管道檔案。與shell程式設計有關的檔案。

字母“s”表示該檔案為sock檔案。與shell程式設計有關的檔案。

“-”表示普通檔案;

“d”表示目錄,是dirtectory(目錄)的縮寫;其中:目錄或者是特殊檔案,這個特殊檔案存放其他檔案或目錄的相關資訊

“l”表示連結檔案,是link(連結)的縮寫,類似于windows下的快捷方式;

“p”表示管理檔案;

“b”表示塊裝置檔案,是block(塊)的縮寫;

“c”表示字元裝置檔案,是char(字元)的縮寫;

“s”表示套接字檔案,是socket(套接字)的縮寫;

2. 檔案權限,分三組(UGO),每組三個(RWX):

r(Read,讀取權限):對檔案而言,具有讀取檔案内容的權限;對目錄來說,具有浏覽目錄的權限。

w(Write,寫入權限):對檔案而言,具有新增、修改檔案内容的權限;對目錄來說,具有删除、移動目錄内檔案的權限。

x(eXecute,執行權限):對檔案而言,具有執行檔案的權限;對目錄來說,該使用者具有進入目錄的權限。

第一組表示檔案建立者/所有者對該檔案所具有的權限,第二組表示建立者/所有者所在的組的其他使用者所具有的權限,第三組表示其他組的其他使用者所具有的權限。除了檔案類型位,前三個表示檔案擁有者的權限,中間三個表示檔案所屬組擁有的權限,最後三個表示其他使用者擁有的權限。

$ ls -l

總用量 0

crw-rw-rw- 1 root root 10, 200 2月 11 07:21 tun

上述tun檔案的資訊:c表示字元裝置檔案,第2~4位的rw-表示root使用者的權限是可讀、可寫,執行位置為-表示沒有執行權限,第5~7表示root組的使用者具有可讀、可寫及不可執行的權限,第8~10位表示其他使用者具有可讀、可寫和不可執行權限

3. 目錄或連結個數

該字段表示此檔案是屬于哪個使用者。linux類系統都是多使用者系統,每個檔案都有它的擁有者。隻有檔案的擁有者才具有改動檔案屬性的權利。當然, root使用者具有改動任何檔案屬性的權利。對于一個目錄來說,隻有擁有該目錄的使用者,或者具有寫權限的使用者才有在目錄下建立檔案的權利。

對于目錄檔案,表示它的第一級子目錄的個數。注意此處看到的值要減2才等于該目錄下的子目錄的實際個數,每個目錄下有兩個隐藏目錄.和..目錄。

連結檔案:類似于windows裡的快捷方式。多個連結檔案同時指向一個“源檔案”。連結檔案分為硬連結或符号連結兩種。

  在Linux的檔案系統中,儲存在磁盤分區中的檔案不管是什麼類型都給它配置設定一個編号,稱為索引節點号inode 。軟連接配接,其實就是建立立一個檔案,這個檔案就是專門用來指向别的檔案的(那就和windows 下的快捷方式的那個檔案有很接近的意味)。軟連接配接産生的是一個新的檔案,但這個檔案的作用就是專門指向某個檔案的,删了這個軟連接配接檔案,那就等于不需要這個連接配接,和原來的存在的實體原檔案沒有任何關系,但删除原來的檔案,則相應的軟連接配接不可用(cat那個軟連結檔案,則提示“沒有該檔案或目錄“)

  硬連接配接是不會建立inode的,他隻是在檔案原來的inode link count域再增加1而已,也是以硬連結是不可以跨越檔案系統的。相反都是軟連接配接會重建立立一個inode,當然inode的結構跟其他的不一樣,他隻是一個指明源檔案的字元串資訊。一旦删除源檔案,那麼軟連接配接将變得毫無意義。而硬連結删除源檔案的時候,系統調用會檢查inode link count的數值,如果他大于等于1,那麼inode不會被回收,是以檔案的内容不會被删除,相當于删除了一個索引。硬連結實際上是為檔案建一個别名,連結檔案和原檔案實際上是同一個檔案。可以通過ls -i來檢視一下,這兩個檔案的inode号是同一個,說明它們是同一個檔案;而軟連結建立的是一個指向,即連結檔案内的内容是指向原檔案的指針,它們是兩個檔案。

  軟連結可以跨檔案系統,硬連結不可以;軟連結可以對一個不存在的檔案名(filename)進行連結(當然此時如果你vi這個軟連結檔案,linux會自動建立一個檔案名為filename的檔案),硬連結不可以(其檔案必須存在,inode必須存在);軟連結可以對目錄進行連接配接,硬連結不可以。兩種連結都可以通過指令 ln 來建立。ln 預設建立的是硬連結。使用 -s 開關可以建立軟連結 

4. 所有者及組别

該檔案的所有者/建立者(owner)及其所在的組(group)。一個使用者可以加入很多個組,但是其中有一個是主組,就是顯示在第4字段的名稱。

5. 檔案大小

6. 修改日期

人就像是被蒙着眼推磨的驢子,生活就像一條鞭子;當鞭子抽到你背上時,你就隻能一直往前走,雖然連你也不知道要走到什麼時候為止,便一直這麼堅持着。