19 使用unlink()函數的主要目的是什麼?
(A) 建立檔案連結
(B) 刪除檔案或連結
(C) 修改檔案權限
(D) 重命名檔案
答案:登入後查看
統計: A(2), B(5), C(1), D(0), E(0) #3399866
統計: A(2), B(5), C(1), D(0), E(0) #3399866
詳解 (共 2 筆)
#7318847
【第一步:找關鍵字】
關鍵字:
-
unlink()(系統呼叫)
-
link(連結)
-
un-link(解除連結)← 超關鍵!
? 這題其實是「英文拆字題」
【第二步:白話翻譯】
這題在問:
? 「unlink 這個函數,是拿來做什麼的?」
【第三步:解題思路】
這題在考什麼觀念?
? Unix 檔案系統中的「連結(link)」與刪除機制
解題步驟
-
先理解 link 是什麼
→ 建立檔案的「連結(指向同一個檔案)」 -
再理解 unlink
→ 取消連結(移除名稱) -
推論結果
→ 當沒有連結時 → 檔案就會被刪除
原理與規則(生活比喻)
把檔案想成一間房子:
-
檔案本體 = 房子
-
檔名 = 地址(連結)
? 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