1. 程式人生 > >linux文件系統1基本文件類型和inode

linux文件系統1基本文件類型和inode

文件類型、索引節點

基本文件類型

普通文件:文件中包含信息是用戶、系統或應用程序輸入生成,在文件系統中不加任何內部修飾,把它們看做純粹的字節流。

目錄:包含文件名列表和指向與之相關聯的的索引節點的指針。目錄文件時特殊寫保護權限的普通文件,只有文件系統才能進行寫操作。

特殊文件:不含數據內容,提供一個映射物理設備到文件名的機制。

管道:管道是進程通信的基礎設備。

鏈接文件:鏈接已經存在的文件的一個可選擇的文件名。

符號鏈接文件:數據文件,數據包含了所鏈接的文件的文件名。


索引節點

linux支持多文件系統,把所有文件系統都映射到統一的下層系統,操作系統通過支持文件系統和給文件分配磁盤空間,所有linux和UNIX都是通過索引節點來管理。每個索引節點保存了文件系統中的一個文件系統對象的元信息數據,但不包括數據內容或者文件名。


技術分享

block為4k大小的文件系統

級別塊數可以索引的文件區域大小
直接12
48k
1級512
2m
2級512*512=256K1G

3級512*256K=128M
512G
查看磁盤inode和block信息
[[email protected]
/* */ yemo]# dumpe2fs /dev/sda1 |grep "Block count" dumpe2fs 1.41.12 (17-May-2010) Block count: 512000 [[email protected] yemo]# dumpe2fs /dev/sda1 |grep "Inode count" dumpe2fs 1.41.12 (17-May-2010) Inode count: 128016

目錄項

目錄只是將文件的名稱和它的索引節點號結合在一起的一張表,目錄中每一對文件名稱和索引節點號稱為一個連接。目錄中的..父目錄索引節點的指針,以及子目錄索引節點的指針。對於一個文件來說有唯一的索引節點號與之對應,對於一個索引節點號,卻可以有多個文件名與之對應。因此,在磁盤上

的同一個文件可以通過不同的路徑去訪問它。

技術分享

符號鏈接和硬鏈接


技術分享

軟硬鏈接的區別:

1)默認不帶參數情況下,ln命令創建的是硬鏈接。

2)硬鏈接文件與源文件的inode節點號相同,而軟鏈接文件的inode節點號與源文件不同。3)ln命令不能對目錄創建硬鏈接,但可以創建軟鏈接,對目錄的軟鏈接會經常被用到。

4)刪除軟鏈接文件,對源文件及硬鏈接文件無任何影響;
5)刪除文件的硬鏈接文件,對源文件及軟鏈接文件無任何影響;
6)刪除鏈接文件的原文件,對硬鏈接文件無影響,會導致其軟鏈接失效(紅底白字閃爍狀);
7)同時刪除原文件及其硬鏈接文件,整個文件才會被真正的刪除。

8)很多硬件設備中的快照功能,使用的就類似硬鏈接的原理。

9)軟連接可以跨文件系統,硬鏈接不可以跨文件系統。

本文出自 “庭前夜末空看雪” 博客,請務必保留此出處http://12550795.blog.51cto.com/12540795/1930714

linux文件系統1基本文件類型和inode