umask中的字母’u’是什麼意思?
是“使用者遮罩”還是什麼?
Wikipedia沒有詳細資訊,但表示該功能自 1978 年以來一直存在於 Unix 中。
POSIX 只是說它是“文件模式創建遮罩”。
Wolfram Rosler’s list 中的這個條目舉例說明了一個長期存在的解釋,即它的意思是“使用者”。該條目是在 2000 年送出的,並將其歸因於“umask”
U_cmask
在程序的“u
區域”中設置了一個欄位。這是一個有點可疑的解釋,原來的懷疑是通過以問題的形式提出的,因為“
u
區域”中還有其他幾個東西,所有的欄位都按慣例命名,不是由系統設置的以“u”開頭的電話。這可能是事後二十年的合理化。u_*something*
另一方面,“u”代表“使用者”,如今已被廣泛接受,並在 2000 年被廣泛接受,儘管“
u
區域”對此的解釋是可疑的。自 1980 年代後期以來,有關 UNIX 的書籍將其描述umask
為“使用者文件創建遮罩”(儘管它們都沒有提及“u
區域”)。
- 在 AT&T Unix System 5 Release 3 的印刷手冊中是這樣描述的。
- 在 1989 X/Open Portability Guide中是這樣描述的。
- 在 Peter Norton 的 1991 Guide to Unix中是這樣描述的。
- Simson Garfinkel 和 Gene Spafford 的 1991 年實用 UNIX 安全性明確直截了當地說
umask(“使用者文件創建模式遮罩”的 UNIX 簡寫)
問題是1985年以前的作品中,名稱擴展中的“使用者”一詞並沒有出現。我能找到的最早的是Rebecca Thomas 1985 A user guide to the UNIX system,後面是“
umask
(使用者遮罩)”在安德森 1986 年的 UNIX C Shell 欄位指南中。
- Stephen R. Bourne 的 1983 The UNIX System收集了第 7 版 UNIX 的手冊條目。第 294 頁上的
umask()
系統呼叫在任何地方都不包含“使用者”一詞,只是將其稱為“文件創建模式遮罩”。一個 forsh
根本沒有提到這個主題。- 1983 年*Unix 分時系統:*來自貝爾實驗室的 Unix 程序員手冊重複了 Bourne 的措辭(這是意料之中的):
NAME umask — 設置文件創建模式遮罩概要
umask(complmode)
描述Umask 設置由(T) 或(2)
創建文件時使用的遮罩:creat``mknod
$$ … $$
- 在 BSD 方面,1987 年UNIX 程序員參考手冊 (PRM):4.3 Berkeley Software Distribution, Virtual VAX-11 Version也沒有提到“使用者”這個詞:
NAME umask — 設置文件創建模式遮罩概要
oumask = umask(numask) int oumask, numask;
描述
Umask 將程序的文件模式創建遮罩設置為numask
並返回遮罩的先前值。$$ … $$
- Marc J. Rochkind 1985 年的Advanced UNIX Programming中沒有“使用者” ,只有“文件模式創建遮罩”。
- Waite Group 的 1987 年Unix System V Bible(“文件創建遮罩”)中也沒有。
在 4 年的大部分時間裡,“u”代表“使用者”已被廣泛接受。但很難追溯到這個名字的最初造詞,與“
u
區域”的聯繫是在事實發生兩年後才出現的,“使用者”這個詞似乎出現在第 7 版 UNIX 和 AT&T Unix 系統之間的某個時間點5 Release 3,這個詞可能是在編寫正式 doco 的人之後作為“u”的看似合理的擴展而引入的。進一步閱讀