19 使用unlink()函數的主要目的是什麼?
(A) 建立檔案連結
(B) 刪除檔案或連結
(C) 修改檔案權限
(D) 重命名檔案

答案:登入後查看
統計: A(2), B(5), C(1), D(0), E(0) #3399866

詳解 (共 2 筆)

#7318847

【第一步:找關鍵字】

關鍵字:

  • unlink()(系統呼叫)

  • link(連結)

  • un-link(解除連結)← 超關鍵!

? 這題其實是「英文拆字題」

【第二步:白話翻譯】

這題在問:

? 「unlink 這個函數,是拿來做什麼的?」

【第三步:解題思路】

這題在考什麼觀念?

? Unix 檔案系統中的「連結(link)」與刪除機制

解題步驟

  1. 先理解 link 是什麼
    → 建立檔案的「連結(指向同一個檔案)」

  2. 再理解 unlink
    取消連結(移除名稱)

  3. 推論結果
    → 當沒有連結時 → 檔案就會被刪除

原理與規則(生活比喻)

把檔案想成一間房子:

  • 檔案本體 = 房子

  • 檔名 = 地址(連結)

? unlink() 做的是:

把地址刪掉

如果:

  • 還有其他地址 → 房子還在

  • 沒有地址了 → 房子被拆掉(檔案消失)

【第四步:選項分析】

(A) 為什麼錯?

✘ 錯

建立連結是:

? link() 或 ln

不是 unlink()

(B) 為什麼對?

✔ 正確(本題答案)

? unlink() 的作用:

刪除檔案名稱(連結)

? 當沒有任何連結時 → 檔案會被刪除

(C) 為什麼錯?

✘ 錯

修改權限是:

? chmod()

(D) 為什麼錯?

✘ 錯

重新命名是:

? rename()

【觀念補充與延伸】

核心觀念定位

? 系統程式 / 檔案系統(inode 概念)
? 中高頻考點

法條或定義

  • unlink()
    移除檔案名稱與 inode 的連結(link)

? 若 link count(連結數)變成 0 → 檔案真正刪除

重要概念:link count(連結數)

狀況 結果
還有連結 檔案還在
沒有連結 檔案刪除

觸類旁通(舉一反三)

對比概念

  • link() vs unlink()
    ? link:增加連結
    ? unlink:移除連結

變化題型

  • 問:刪除檔案一定會馬上消失嗎?
    ? 不一定(如果還有其他 hard link)

【記憶口訣】

? 「unlink = 解除連結 = 刪檔案」

【常見陷阱】

學生最容易搞混的地方

以為 unlink 是「直接刪資料」

心理盲點

忽略「link(連結)」這個概念

避坑指南

? 看到 unlink:

先翻譯:
un + link = 取消連結

0
0
#6786504
題目解析 在這道題目中,我們需要了解 ...
(共 848 字,隱藏中)
前往觀看
0
0