Re: [問題] 為什麼符號連結會多一個inode&block?

作者: dijkstra (邪惡數學家)   2016-12-26 13:58:26
※ 引述《anoymouse (沒有暱稱)》之銘言:
: 在看鳥哥關於硬式連結&符號連結
: symbolic:
: http://linux.vbird.org/linux_basic/0230filesystem/symbolic_link1.gif
: 這樣跟硬式連結的圖只不過是一個指到另一個目錄inode一個直接指到檔案inode的差別啊
: http://linux.vbird.org/linux_basic/0230filesystem/hard_link1.gif
: 他說硬式不會增加inode&block,hard link 只是在某個目錄下的 block 多寫入一個關
: 連資料而已,那符號連結就不是嗎? 實做符號的確會增加inode。
: 謝謝
借我洗一下文章數,在linux 每個檔案都對應一個inode(index node),而目錄也算是
檔案一種,內容像是:
inode number,file name,...
10 , file1
14 , file3
.
.
.
所以我們說在某個目錄下建立某個file(假設ino = 15) 的hard link,其實就是新增一
筆寫到檔案內,
10 ,file1
14 ,file3
15 ,filexx
所以hard link實際上並沒有新建檔案,自然也沒有新的inode(15 ,filexx也可以出現在
其他目錄內容下)
而symbol link則是"新建立一個檔案",檔案內容像是:
/tmp/file_name,因為是新建一個檔案,自然會在分配一個inode給它,當你開啟它時,
vfs(linux)知道這是一個連結檔,會知道後續怎麼解析路徑
作者: anoymouse (沒有暱稱)   2016-12-26 21:53:00
好像是分配的inode的flag會紀錄這是symlink所以會知道後續路徑 鳥哥就沒提到怎麼知道了後面還有一堆 更複雜的東西....總之thanks!!!
作者: will12345610 (Mr.Positive)   2016-12-27 00:32:00
https://youtu.be/kYonC93SvpE 這個影片滿詳細的!
作者: anoymouse (沒有暱稱)   2016-12-27 16:06:00
感謝w大

Links booklink

Contact Us: admin [ a t ] ucptt.com