歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux技術

Linux下對不同類型文件操作的真正含義

Linux的文件系統中有3種區塊,分別是“superblock,inode,block”。
superblock:記錄文件系統的整體信息,包括inode和block的總量,使用量,剩余量,文件系統的格式與相關信息等
inode:記錄文件的屬性信息,包括權限,擁有者,所屬組,修改時間等,並且保存真正存放數據的block序號
block:存放具體數據,目錄文件的block存放的是下面文件的<文件名,inode序號>
Linux的文件可分為4類,分別是一般文件,目錄文件,軟符號鏈接文件,硬符號鏈接文件。
接下來將以上3種區塊與對這4類文件的操作聯系起來。

一、增加

1.1、對一般文件

分配一個inode區塊,根據文件大小分配一定數量的block區塊,inode區塊會保存這些block區塊的序號,在所在目錄中對應的block區塊中增加一行記錄,有該文件的<文件名,inode序號>。

1.2、對目錄文件

分配一個inode區塊,一般分配一個block區塊(目錄下面文件過多,可以分配多個block區塊),inode區塊會保存這個block區塊的序號,在所在目錄中對應的block區塊中增加一行記錄,有該目錄文件的<文件名,inode序號>。

1.3、對軟符號鏈接文件

分配一個inode區塊,沒有block區塊,inode區塊有個軟符號鏈接文件的特殊標識,並且保存有“鏈接到文件”的路徑,這個文件路徑必須得是絕對路徑,否則可能出錯,在所在目錄中對應的block區塊中增加一行記錄,有該文件的<文件名,inode序號>。
相當於windows下的快捷方式。

1.4、對硬符號鏈接文件

不分配inode區塊,也不分配block區塊,直接在所在目錄中對應的block區塊中增加一行記錄,有“鏈接到文件”的<文件名,inode序號>。

二、刪除

2.1、對一般文件

回收inode和所有的block區塊,在所在目錄對應的block區塊中刪除相應的<文件名,inode序號>。

2.2、對目錄文件

回收inode和所有的block區塊,在所在目錄對應的block區塊中刪除相應的<文件名,inode序號>。

2.3、對軟符號鏈接文件

回收inode區塊,在所在目錄對應的block區塊中刪除相應的<文件名,inode序號>。

2.4、對硬符號鏈接文件

在所在目錄對應的block區塊中刪除相應的<文件名,inode序號>。

三、修改

3.1、對一般文件

修改的是block裡面的內容。

3.2、對目錄文件

修改的是block裡面的內容。

3.3、對軟符號鏈接文件

修改的是“鏈接到文件”的block裡面的內容。

3.4、對硬符號鏈接文件

修改的是“鏈接到文件”的block裡面的內容。

四、查看

4.1、對一般文件

查看的是block裡面的內容。

4.2、對目錄文件

查看的是block裡面的內容。

4.3、對軟符號鏈接文件

查看的是“鏈接到文件”的block裡面的內容。

4.4、對硬符號鏈接文件

查看的是“鏈接到文件”的block裡面的內容。
參考文獻:
[1]鳥哥私房菜
[2]http://roclinux.cn/?p=754
[3]http://www.nixtutor.com/freebsd/understanding-symbolic-links/
Copyright © Linux教程網 All Rights Reserved