34 getgrgid()函數的功能是什麼?
(A) 取得群組名稱
(B) 根據I D取得群組資訊
(C) 修改群組I D
(D) 建立新群組
答案:登入後查看
統計: A(2), B(4), C(1), D(1), E(0) #3399881
統計: A(2), B(4), C(1), D(1), E(0) #3399881
詳解 (共 2 筆)
#7318884
【第一步:找關鍵字】
關鍵字:
-
getgrgid()
-
gr(group)
-
gid(group ID)
? 這題一樣是「拆函數名稱」就能解
【第二步:白話翻譯】
這題在問:
? 「給你一個群組 ID(gid),getgrgid() 會幫你做什麼?」
【第三步:解題思路】
這題在考什麼觀念?
? Linux 系統帳號 / 群組查詢函數
解題步驟
-
拆函數名稱
-
get = 取得
-
gr = group(群組)
-
gid = 群組 ID
-
-
推論功能
→ 用 gid 找群組資料
原理與規則(生活比喻)
把群組想成「班級」:
-
gid = 班級編號
-
group info = 班級資料(名稱、成員等)
? getgrgid() 就是:
? 「用班級編號查班級資料」
【第四步:選項分析】
(A) 為什麼錯?
✘ 錯
? 不只是取得名稱
? 是取得「整個群組資訊」
(B) 為什麼對?
✔ 正確(本題答案)
? getgrgid():
根據群組 ID(gid)取得群組資訊(struct group)
(C) 為什麼錯?
✘ 錯
修改 gid 是:
? 系統管理操作,不是這個函數
(D) 為什麼錯?
✘ 錯
建立群組是:
? useradd / groupadd 等指令
【觀念補充與延伸】
核心觀念定位
? 系統程式 / 使用者與群組管理
? 基本但常考
相關函數整理
| 函數 | 功能 |
|---|---|
| getgrgid() | 用 gid 查群組 |
| getgrnam() | 用名稱查群組 |
回傳內容(重要)
ㅤㅤ
struct group {
char *gr_name; // 群組名稱
gid_t gr_gid; // 群組ID
char **gr_mem; // 成員列表
};
char *gr_name; // 群組名稱
gid_t gr_gid; // 群組ID
char **gr_mem; // 成員列表
};
ㅤㅤ
? 不是只拿名字!
觸類旁通(舉一反三)
對比概念
-
getpwuid() → 用 uid 查使用者
-
getgrgid() → 用 gid 查群組
變化題型
-
問:getgrnam() 是做什麼?
? 用名稱查群組資訊
【記憶口訣】
? 「gid 查 group → getgrgid」
【常見陷阱】
學生最容易搞混的地方
以為只回傳名稱
心理盲點
看到 get 就只想到單一值
避坑指南
? 記住:
這類函數回傳的是「結構(struct)」不是單一資料
0
0