亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

軟鏈接的鏈接原理疑點

我在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節點而是通過文件名來找到原文件?

正在回答

4 回答

課程中說錯了,符號鏈接(所謂軟鏈接)的block中保存的是源文件的文件名,不是源文件的inode。

課程中竟然有這么大的錯誤!...

1 回復 有任何疑惑可以回復我~

感覺老濕講錯了,軟鏈接是記錄塊中記錄的是目標文件名,而不是目標文件inode,如果是inode,刪除目標文件,因為有硬鏈接的存在,使得inode依然存在,則軟連接依然有效,所以記錄的不是文件inode;刪除目標文件,在新建一個相同文件名的文件(內容不同),則軟連接就再次有效了,所以軟連接記錄的是目標文件名,而不是inode;此時,硬鏈接和軟連接的數據是不同的

0 回復 有任何疑惑可以回復我~

可以這樣驗證這一點:

用ls查看符號鏈接的大小,會發現其大小等于源文件名的字節數。

可以證明符號鏈接中保存的是目標文件名

0 回復 有任何疑惑可以回復我~
#1

taylorfeng 提問者

感覺好多東西還值得自己去推敲
2016-04-18 回復 有任何疑惑可以回復我~

按你說的做了一遍,并沒有出現你說的情況,可以把你做的分享一下嗎


0 回復 有任何疑惑可以回復我~
#1

taylorfeng 提問者

就是對一個原文件建立軟鏈接,軟鏈接文件不動,刪除掉原文件,再新建一個與之同名的文件,此時原文件和后來新建的i節點是不同的,但是那個軟鏈接的文件卻完全沒問題地指向了后面新建的那個文件并可以正常使用。
2016-01-12 回復 有任何疑惑可以回復我~
#2

biueangel 回復 taylorfeng 提問者

windows8.1虛擬機下試了一下,出現你說的問題,然后@onemoo解釋的應該是對的
2016-01-12 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Linux達人養成計劃 I
  • 參與學習       400035    人
  • 解答問題       3960    個

Linux入門視頻教程,以通俗易懂的語言帶你感受linux之美

進入課程

軟鏈接的鏈接原理疑點

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號