程式中umask(0)的意思?

2puT發表於2016-07-12
linux中的 umask 函式主要用於:在建立新檔案或目錄時 遮蔽掉新檔案或目錄不應有的訪問允許許可權。檔案的訪問允許許可權共有9種,分別是:r w x r w x r w x(它們分別代表:使用者讀 使用者寫 使用者執行 組讀 組寫 組執行 其它讀 其它寫 其它執行)。

其實這個函式的作用,就是設定允許當前程式建立檔案或者目錄最大可操作的許可權,比如這裡設定為0,它的意思就是0取反再建立檔案時許可權相與,也就是:(~0) & mode 等於八進位制的值0777 & mode了,這樣就是給後面的程式碼呼叫函式mkdir給出最大的許可權,避免了建立目錄或檔案的許可權不確定性。

相關文章