自由題庫-每日一題:9

想考 Linux 認證嗎?或是有任何 Linux 考試心得要分享?趕快進來吧

版主: 小狐狸

自由題庫-每日一題:9

文章小狐狸 » 週四 8月 19, 2004 4:09 pm

Which of the following statements are true?
Choose every correct answer.

A. A hardlink uses the same inode than it's original file.

B. Hardlinks may be used for files and directories on the same partition

C. Hardlinks can't point to directories

D. A hardlink has to be in the same directory than it's original file

E. A hardlink may reference any file on the whole system




PS.這在搞甚麼?請參閱這裡
自由是 狐狸 的 天性 !
圖檔圖檔我的小站
圖檔圖檔
頭像
小狐狸
版主
版主
 
文章: 541
註冊時間: 週四 4月 17, 2003 10:21 pm

文章訪客 » 週四 8月 19, 2004 4:59 pm

我猜是BC

E不對..只能連到同一個分割區的檔案..
訪客
 

Re: 自由題庫-每日一題:9

文章Tetralet » 週四 8月 19, 2004 5:22 pm

小狐狸 寫:B. Hardlinks may be used for files and directories on the same partition

C. Hardlinks can't point to directories

所以 B 和 C 應該是互斥的...
時間並不能治療我心中的疼痛
南方的春天說什麼也溫暖不了我冰冷的血

誦唱大復活咒文,今天的 Tetralet 又在唧唧喳喳了 重生!
Tetralet
俺是博士
俺是博士
 
文章: 3078
註冊時間: 週四 11月 28, 2002 3:02 pm

文章d2207197 » 週四 8月 19, 2004 7:13 pm

C 吧
頭像
d2207197
鑽研的研究生
鑽研的研究生
 
文章: 1763
註冊時間: 週二 5月 27, 2003 9:57 pm
來自: 火星

文章yenjinc » 週四 8月 19, 2004 8:55 pm

確定C是正確.....A應該也正確吧,印象中硬連結是同樣的inode的....不曉得有沒有記錯就是了....... :-)
所以我猜A,C........
yenjinc
懵懂的國中生
懵懂的國中生
 
文章: 190
註冊時間: 週三 7月 14, 2004 12:29 am

文章d2207197 » 週四 8月 19, 2004 9:27 pm

我記得是不同 inode,相同資料區塊

我可以非常確定的是,相同資料區塊絕對是對的
頭像
d2207197
鑽研的研究生
鑽研的研究生
 
文章: 1763
註冊時間: 週二 5月 27, 2003 9:57 pm
來自: 火星

文章yenjinc » 週四 8月 19, 2004 10:11 pm

確定hardlink是同樣inode的了,剛剛測試了一下,
果然真的要實際弄過之後,原本比較模糊不確定的印象就可以確定了 :-)

$ touch 123
$ ln 123 123hardlink
$ ln -s 123 123softlink
$ ls -li

可證明123,與123hardlink的inode一樣,
123softlink的inode是另外新獨立的.
yenjinc
懵懂的國中生
懵懂的國中生
 
文章: 190
註冊時間: 週三 7月 14, 2004 12:29 am

文章小狐狸 » 週五 8月 20, 2004 12:00 pm

恭喜 yenjinc 你答對囉~~給你拍拍手!:mrgreen:


ans:A , C

謝謝大家的作答!
如果覺得我公佈的答案是錯的! :ooops:

告訴我吧!先謝囉! :mrgreen:
自由是 狐狸 的 天性 !
圖檔圖檔我的小站
圖檔圖檔
頭像
小狐狸
版主
版主
 
文章: 541
註冊時間: 週四 4月 17, 2003 10:21 pm

文章Tetralet » 週五 8月 20, 2004 1:01 pm

能否解釋一下,
為什麼 Hard Link 會有『無法指到目錄』這個限制呢?
時間並不能治療我心中的疼痛
南方的春天說什麼也溫暖不了我冰冷的血

誦唱大復活咒文,今天的 Tetralet 又在唧唧喳喳了 重生!
Tetralet
俺是博士
俺是博士
 
文章: 3078
註冊時間: 週四 11月 28, 2002 3:02 pm

文章小狐狸 » 週五 8月 20, 2004 1:18 pm

硬連結(hard link)
首次出現的檔案連結,在今日我們稱為 hard link。這種連結必須在同一個檔案系統下進行,允許對"檔案"做連結,但"目錄"則不適用。檔案只佔用一個 inode,因此實際資料只有一份。任何有權限設定連結的人,允許對這個檔案另外取新的檔名;但所有可以讀寫的人,存取的都是相同的一份檔案。

這種連結的刪除跟一般檔案相同,由於多人多工的作業系統檔案有使用權限的觀念。所以一個使用者如果胡亂開放檔案的使用權限,就有可能會發生,原檔的擁有者在刪除檔案後,其實檔案還存在於系統的另一角落。這種連結檔案要真正消失,必須得等到 inode 真的被刪除才算數。也因此,有時系統管理者在刪除使用者帳戶後,檔案系統裡仍舊遺留有該使用者 id 的孤兒檔案。

原文出處:http://www.europa.idv.tw/Fman/Lman1/ln.html
自由是 狐狸 的 天性 !
圖檔圖檔我的小站
圖檔圖檔
頭像
小狐狸
版主
版主
 
文章: 541
註冊時間: 週四 4月 17, 2003 10:21 pm

文章Tetralet » 週五 8月 20, 2004 1:39 pm

小狐狸 寫:硬連結(hard link)
首次出現的檔案連結,在今日我們稱為 hard link。這種連結必須在同一個檔案系統下進行,允許對"檔案"做連結,但"目錄"則不適用。

個人好奇的則是:

 為什麼對『目錄』就不行做 Hard Link 呢?

因為一個目錄也會佔用一個 inode,
而 Hard Link 本來就是可以指向一個 inode 的,
那麼無法將 Hard Link 指向一個目錄是有什麼技術上難以克服的問題,
還是有什麼安全上的考量呢?
時間並不能治療我心中的疼痛
南方的春天說什麼也溫暖不了我冰冷的血

誦唱大復活咒文,今天的 Tetralet 又在唧唧喳喳了 重生!
Tetralet
俺是博士
俺是博士
 
文章: 3078
註冊時間: 週四 11月 28, 2002 3:02 pm

文章d2207197 » 週五 8月 20, 2004 1:39 pm

Hard Link 在 tw.bbs.comp.linux 曾經有很常串的討論

小州大也揣測過目錄無法用 hard link 的原因
代碼: 選擇全部
  一般 hard link 用於目錄目前暫時是無法達成的,一但使用都會出現 operation
  not permitted 這類訊息。

  目錄不大允許使用 hard link,這其中原因一般來說在於 hard link 要於目錄
  使用的話,表示該目錄內的所有檔案與包含子目錄都要被進行 hard link 動作,
  結果層面已經脫離了單純一般檔案項目的 hard link 情況。

  再來,一但可以允許 hard link 於該目錄,若你在該目錄內建立一個檔案
  與目錄,這表示這兩個目錄的檔案都要再處理 hard link 情況,那整個
  環境會變得非常複雜。


接著lloyd huang大也回應了小州大的文章
代碼: 選擇全部
州大說的沒錯不會動

hard link 也有可能會造成檔案系統的 loop
$> mkdir foo
$> touch foo/a
$> ln ../foo foo/testdir

foo
foo/a
foo/testdir
foo/testdir/testdir/a
foo/testdir/testdir/testdir
foo/testdir/testdir/testdir/a
........

書註解:作者實際測試,結果檔案系統毀損......fsck 修復無效,需動用 clri dcheck 云
云.
目錄無法 hard link 看來並非沒有道理
頭像
d2207197
鑽研的研究生
鑽研的研究生
 
文章: 1763
註冊時間: 週二 5月 27, 2003 9:57 pm
來自: 火星

文章Tetralet » 週五 8月 20, 2004 2:32 pm

據個人所知...

從某種層面來說,
目錄可以視同一個『特殊用途』的檔案,
只是它的內容記錄的是它所包含的所有檔案之 inode(?)。

所以...
代碼: 選擇全部
  目錄不大允許使用 hard link,這其中原因一般來說在於 hard link 要於目錄
  使用的話,表示該目錄內的所有檔案與包含子目錄都要被進行 hard link 動作,
  結果層面已經脫離了單純一般檔案項目的 hard link 情況。


為什麼『該目錄內的所有檔案與包含子目錄都要被進行 hard link 動作』呢?


而...
代碼: 選擇全部
hard link 也有可能會造成檔案系統的 loop

書註解:作者實際測試,結果檔案系統毀損......fsck 修復無效,需動用 clri dcheck 云云.
目錄無法 hard link 看來並非沒有道理

個人可以接受這個說法。
Hard Link 一旦造成檔案系統的 loop,
後果的確不堪設想...
時間並不能治療我心中的疼痛
南方的春天說什麼也溫暖不了我冰冷的血

誦唱大復活咒文,今天的 Tetralet 又在唧唧喳喳了 重生!
Tetralet
俺是博士
俺是博士
 
文章: 3078
註冊時間: 週四 11月 28, 2002 3:02 pm

文章Tetralet » 週五 8月 20, 2004 2:55 pm

我在 Google 上還看到了一個說法。

請參考以下的目錄結構:
代碼: 選擇全部
<0>
|-- .
|-- ..
|-- <1>
|   |-- .
|   |-- ..
|   `-- <10>
|       |-- .
|       `-- ..
`-- <2>
    |-- .
    |-- ..
    `-- <20>
        |-- .
        |-- ..
        `-- <200>
            |-- .
            `-- ..

<1> 目錄裡的 . 是指向 <1>;
而 <1> 目錄裡的 .. 則是指向 <0>。
(請查看其 inode 即可以了解)

若 <200> 為 <10> 之 Hard Link,
則 <200> 目錄裡的 . 會指向 <10>;
 (但因為 <200> 和 <10> 的 inode 是相同的,所以不會發生問題)

因為 <200> 為 <10> 之 Hard Link,
所以 <200> 目錄裡的 .. 則將會指向 <1>
 (但因為 <200> 為 <20> 之子目錄,所以 .. 應該指向 <20> 才對)

但是 .. 不可能同時指向兩個 inode,
所以在實作上就會出現問題。

因此,在技術上,Hard Link 是無法指向目錄的。


請問,是否還有其它的原因呢?
時間並不能治療我心中的疼痛
南方的春天說什麼也溫暖不了我冰冷的血

誦唱大復活咒文,今天的 Tetralet 又在唧唧喳喳了 重生!
Tetralet
俺是博士
俺是博士
 
文章: 3078
註冊時間: 週四 11月 28, 2002 3:02 pm

文章d2207197 » 週五 8月 20, 2004 8:52 pm

我覺得 Tetralet 大的講法比較好
我也終於理解為什麼不能建立目錄的 hard link
頭像
d2207197
鑽研的研究生
鑽研的研究生
 
文章: 1763
註冊時間: 週二 5月 27, 2003 9:57 pm
來自: 火星

下一頁

回到 Linux 認證討論區

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客