iT邦幫忙

2

Linux的硬連結關念

在看鳥哥的第8-26頁,有一張圖說明到.
原始檔案(/etc/crontab)做了硬連結檔(/root/crontab),書上說明了硬連結檔案和原始檔案共同佔用同一個inode,但我看了書上的附圖,還是覺得圖上表示出"原始檔案和硬連結"都有一個inode.

鳥哥書上的圖:
https://ithelp.ithome.com.tw/upload/images/20220117/20118518C0gjDfjmdJ.png
自己理解鳥哥講解的內容,圖應該長得像下面這樣:
https://ithelp.ithome.com.tw/upload/images/20220117/20118518TVVzvzuMBZ.png

可以請各位先進幫忙解說的更清楚嗎?感激不盡~

O口O iT邦新手 4 級 ‧ 2022-01-19 13:03:19 檢舉
自己想出來解釋了:
(1)/root和/etc兩個目錄的inode編號 -> 為1和2。
(2)inode1 ,2分別指向/root和/etc的目錄block.
(3)兩個目錄的檔名 ,都指向real(inode)
/root的block記錄著/root/crontab(檔名) <- [對映]-> real(inode)
/etc的block記錄著/etc/crontab(檔名) <- [對映] -> real(inode)
(4)real(inode) -> 檔案實際內容.
(5)所以,無論"刪除"掉/root或/etc目錄中block的任何一個檔名/etc/crontab和/root/crontab,另一個檔名仍然能夠連結到"檔案實際內容"。
Gary iT邦好手 1 級 ‧ 2022-01-19 21:01:29 檢舉
你還重新梳理了一遍!!恩恩!是的
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

1
Gary
iT邦好手 1 級 ‧ 2022-01-17 17:55:18
最佳解答

剛剛看了鳥哥的網站說明,其實就像是Windows捷徑功能方式差不多,而多個檔名對應同個inode就是hard link(像捷徑一樣)無論透過第一或第二來存取兩個不同檔名,一樣可以連結到 real ,最後由 inode 讀取最終資料,而目的也是安全避免意外刪除A檔名時仍可保有一樣的inode與block,來透過B檔名正常存取.
https://ithelp.ithome.com.tw/upload/images/20220117/200254811LVt7imFcC.png

看更多先前的回應...收起先前的回應...
O口O iT邦新手 4 級 ‧ 2022-01-17 20:06:32 檢舉

感謝回應喔~
我想問的是,實際檔案和硬連結檔案既然都共用同一個inode,那為什麼圖中會有1,2共2個inode??

所以不知道是圖畫錯,還是敍述有錯??
拜託你了...

Gary iT邦好手 1 級 ‧ 2022-01-17 21:39:43 檢舉

你看到從原本的1多出一個2,那個所謂的2的數字意思是多少個檔名連結到同個inode上,以此類推..

O口O iT邦新手 4 級 ‧ 2022-01-18 20:54:55 檢舉

我先想看看...

O口O iT邦新手 4 級 ‧ 2022-01-19 13:03:57 檢舉

你好,我有想出來了,可以看一下我的說明喔~

我要發表回答

立即登入回答