1. 程式人生 > >Linux學習筆記之1——文件和目錄管理(硬連接和軟連接)(連結檔,相當於快捷方式)

Linux學習筆記之1——文件和目錄管理(硬連接和軟連接)(連結檔,相當於快捷方式)

class 學習linux lock 訪問 接下來 所有 sdn ext test

在這節將要學習linux的連接檔,在之前用"ls -l" 查看文件屬性的命令時, 其中第二個屬性是連接數。那麽這個連接數是幹什麽的?這就要理解inode。

先說一下文件是怎麽存儲的。文件儲存在硬盤上,硬盤的最小存儲單位叫做"扇區"(Sector),每個扇區儲存512字節(相當於0.5KB)。操作系統讀取硬盤的時候,不會一個個扇區地讀取,而是一次性連續讀取多個扇區,即一次性讀取一個"塊"(block)。"塊"的大小,最常見的是4KB,即8個“扇區”組成一個“塊"。文件數據都儲存在“塊”中,那麽就得有個地方來儲存文件的信息(比如創建者,創建時間等),這個區域就叫“inode”,即索引節點。


當創建一個文件

時,系統分配一個inode及能夠裝載文件大小的blocks給它,inode記錄文件的屬性,包括block的位置,block記錄文件內容。

當創建一個目錄時,系統分配一個inode和一個block,若此目錄下的文件過多的話,會開辟一個新的block給它。inode記錄目錄的屬性,block記錄這個目錄下的所有文件和子目錄對應的inode,通過block可以找到某個文件的inode位置,從而找到文件內容。

這裏可以通過“stat +文件名” 的命令來查看文件inode的信息,如下圖:

技術分享圖片

然而,在硬盤的同一個文件可以通過不同的路徑來訪問它。接下來要講的軟、硬連接就是建立在inode和block的關系之上。

硬連接:一般情況下,一個文件名對就一個inode,但Linux允許多個文件名對應同一個inode,也就是說通過不同的文件名可以訪問同一個內容。刪除一個文件名不影響其它文件名的訪問。語法如下:

ln 源文件 目標文件(要創建的文件)
#這裏只能是文件,不可以是目錄

例如:

先查看一下當前一個叫yum.sh文檔的連接數,如圖所示為2

技術分享圖片

執行添加硬連接的指令:

技術分享圖片

執行指令之後,在打開目錄可以發現,出現新的文件yum_hLink.sh

技術分享圖片

再查看yum.sh的連接數,如下圖所示,連接數增加了一個:

技術分享圖片

軟連接(或符號鏈接):若文件(目錄)A是文件(目錄)B的軟連接,A的內容是B的路徑,想當於A是B的快捷方式。當刪除A時,不影響B的訪問;當刪除B時,就會報錯。

語法:

ln -s 源文文件或目錄 目標文件或目錄
#軟連接可以是目錄

例如,test 是一個目錄:

技術分享圖片

執行指令後,當前目錄下多了一個test_sLink目錄

技術分享圖片

查看連接數,發現test 目錄的連接數並沒有增加,而test_sLink 以 "->"形式來表示是test的軟連接:

技術分享圖片

轉載:https://www.cnblogs.com/jiangu66/p/3206376.html

Linux學習筆記之1——文件和目錄管理(硬連接和軟連接)(連結檔,相當於快捷方式)