1. 程式人生 > >Linux硬連結和軟連線的理解

Linux硬連結和軟連線的理解

    為了解決資訊能獨立於程序之外長期被儲存引入了檔案,檔案能同時被多個程序使用。對於所有類Unix系統,除了程序以外全都為檔案,而Linux在此基礎上引進了目錄的概念即資料夾,這就使得Linux的檔案可以被分類管理,同時是的Linux的檔案系統形成一個層級結構的目錄樹。

    Linux不區分檔案和目錄,目錄只是記錄了其他檔名的檔案。比如使用mkdir建立的目錄與已存在的檔案同名,則會建立失敗。

    檔案都有檔名和資料,資料中有一項叫做inode。inode才是檔案的唯一識別符號,而檔名只是為了方便記憶和使用。

    硬連結即在同一個檔案系統中,建立一個inode和已存在的檔案(不能是目錄)相同的檔案,兩者除了檔名不同外,所有的資料包括inode都是相同的,刪除其中一個對另一個沒有影響。其特點是:①倆檔案除了檔名不同外資料完全相同②只能對已存在的檔案進行建立③不能串檔案系統建立④只能對檔案建立,不能對目錄進行建立⑤刪除一個硬連結檔案不會影響有相同的inode的檔案。

    軟連線即建立一個指向另一檔案的檔案。軟連線可以使檔案也可以是目錄,有自己的資料包括inode,是和其指向的檔案完全獨立的一個檔案。因此,軟連線具有以下特點:①軟連線有自己的資料,獨立於指向的檔案②可以對檔案或者目錄進行軟連線的建立③可以串檔案系統進行建立④刪除其指向的檔案不會影響軟連線,只是此時軟連線變為死連結,在其指向的檔案重現建立後即可恢復。