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