軟鏈接的鏈接原理疑點
我在mac做如下測試: 1.新建一個test,這里稱它test(1),查看其i節點為1 2.軟鏈接test(1)取名soft 3.刪test,cat soft 報:不存在文件 4.再新建一個test,這里稱test(2),查看其i節點為2,cat soft 正常顯示test(2)里的內容 您在視頻里說:軟鏈接保存的block數據內容是存放原文件的i節點數據,通過這個i節點再找到原文件的數據,而我測試中soft新建的時候就是指向test(1)的i節點1所在數據塊,為何同樣的soft文件最后依舊能正常鏈接到了i節點為2的test(2)的數據內容呢?難道它不是通過i節點而是通過文件名來找到原文件?
2016-01-11
課程中說錯了,符號鏈接(所謂軟鏈接)的block中保存的是源文件的文件名,不是源文件的inode。
課程中竟然有這么大的錯誤!...
2016-03-11
感覺老濕講錯了,軟鏈接是記錄塊中記錄的是目標文件名,而不是目標文件inode,如果是inode,刪除目標文件,因為有硬鏈接的存在,使得inode依然存在,則軟連接依然有效,所以記錄的不是文件inode;刪除目標文件,在新建一個相同文件名的文件(內容不同),則軟連接就再次有效了,所以軟連接記錄的是目標文件名,而不是inode;此時,硬鏈接和軟連接的數據是不同的
2016-01-12
可以這樣驗證這一點:
用ls查看符號鏈接的大小,會發現其大小等于源文件名的字節數。
可以證明符號鏈接中保存的是目標文件名
2016-01-11
按你說的做了一遍,并沒有出現你說的情況,可以把你做的分享一下嗎