Linux學習筆記之1——檔案和目錄管理(硬連線和軟連線)(連結檔,相當於快捷方式)
在這節將要學習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