硬鏈接:在linux文件系統中多個文件名指向同一個索引節點(Inode)是正常允許的。硬鏈接文件就相當於文件的另一個入口。 硬鏈接的作用:允許一個文件擁有多個有效路徑(多個入口),這樣用戶就可以建立硬鏈接到重要文件,以防止“誤刪”源數據 (很多硬體存儲,如netapp存儲中的快照功能就應用了這個原理 ...
硬鏈接:在linux文件系統中多個文件名指向同一個索引節點(Inode)是正常允許的。硬鏈接文件就相當於文件的另一個入口。
硬鏈接的作用:允許一個文件擁有多個有效路徑(多個入口),這樣用戶就可以建立硬鏈接到重要文件,以防止“誤刪”源數據
(很多硬體存儲,如netapp存儲中的快照功能就應用了這個原理,增加一個快照就多了一個硬鏈接。)
查看硬鏈接:ls –l 可以指定文件
創建硬鏈接:ln 源文件 硬鏈接文件
硬鏈接文件的inode是相同的:
刪除硬鏈接文件任意一個,文件可以找回:
如何查找所有硬鏈接: find / -type -f |xargs ls -lhi|grep (Inode號)
硬鏈接優點:防止重要的文件被誤刪除,若有多人需要操作同一個文件,可以創建許多硬鏈接。比較大的文件在伺服器可以只存儲一份,大家各自使用對應的硬鏈接即可。
註意:目錄的硬鏈接不允許ln命令來創建
硬鏈接知識總結:
1) 具有相同的inode節點號的多個文件是互為硬鏈接文件。
2) 刪除硬鏈接文件或者刪除源文件任意之一,文件實體並未被刪除
3) 只有刪除了源文件及所有對應的硬鏈接文件,文件實體才會被刪除
4) 當所有的硬鏈接文件及源文件被刪除後,再存放新的數據會占用這個文件的空間或者磁碟fsck檢查的時候,刪除的數據也會被系統回收。
5) 硬鏈接文件就是文件的另一個入口(相當於超時的前門、後門一樣)
6) 可以通過給文件設置硬鏈接,來防止重要文件被刪除。
7) 通過命令:“ln 源文件 硬鏈接文件”,即可完成創建硬鏈接。
8) 硬鏈接文件可以用rm刪除的
9) 對於靜態文件(沒有進程正在調用的文件)來講,當對應硬鏈接數為0(i_link)文件就被刪除(i_link的查看方法:ls –l結果的第三列就是)