Linux 上面的 Symbolic Link 和 Hard Link的差別

憑一些印象跟剛查了一下資料畫成了下面的圖,沒有把握一定對,但至少可以解釋一些特性,Symbolic Link可以跨 File System,而且也可以 link 到目錄,Hard Link就不行了。建立 hard link時,在 inode 裡面會有一個 count 累計,刪除 Directory Entry 下面的A 或是 A.hard 時,會把 count -1,當 count 變成 0 之後,inode 才會釋放。

然後如果先刪除A的話,因為inodeA不等於0,所以使用 A.hard 找的到檔案,而A.lnk因為DirectoryEntry下面的A不見了,所以就找不到了。

不確定 Hard Link 是不是不能跨 Partition,如果是的話,那就代表每一個Partition有各自的 inode Table。 但我現在還是沒有找到會有 inode Table 設計的解答,因為我對 inode 不夠用之後就必須重切 partition 的解法感到非常笨~

This entry was posted in 電腦和網際網路. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s