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