umask函式用於為程序設定檔案模式建立遮蔽字,並返回之前的遮蔽字。
#include
#include
mode_t umask(mode_t mask);
其中,引數mask由以下9個檔案訪問許可權位中的若干位「或「構成,這些位在/usr/include/x86_64-linux-gnu/sys/stat.h中定義。
表1. 檔案訪問許可權位
st_mode
含義s_irusr
使用者讀s_iwusr
使用者寫s_ixusr
使用者執s_irgrp
使用者組讀
s_iwgrp
使用者組寫
s_ixgrp
使用者組執行
s_iroth
其它組讀
s_iwoth
其它組寫
s_ixoth
其它組執行
例1 使用umask設定檔案模式建立遮蔽字
#include
#include
#include
#include
#define mode (s_irusr | s_iwusr | s_irgrp | s_iwgrp)
int main()
執行上述**之前檢視當前檔案模式建立遮蔽字:
$ umask
0022
上述**執行結果如下:
$ ls -l file_*
-rw------- 1 rocky rocky 0 3月 8 09:56 file_new
-rw-rw---- 1 rocky rocky 0 3月 8 09:56 file_old
通過新建立檔案的訪問許可權位,可以看出在檔案模式建立遮蔽字中為1的位,檔案mode中相應的位被關閉。
檢視當前檔案模式建立遮蔽字是否改變:
$ umask
0022
通過umask命令在程式執行前後輸出資訊來看,檔案模式建立遮蔽字沒有改變,即更改程序的檔案模式建立遮蔽字並不影響父程序(通常為shell)的遮蔽字。
umask是shell的內建(which 命令無輸出)命令,用於輸出當前檔案模式建立遮蔽字:
$ which umask
開啟建立檔案Open Create 函式
linux中 open 用於開啟已經存在的檔案或者建立乙個新檔案 create 用於建立乙個新檔案。int open const char pathname,int flag int open const char pathname,int flag,mode t mode 注 pathname 不...
IO 建立檔案
public class demo03 catch exception e public static void test3 throws ioexception,interruptedexception 刪除檔案 boolean flag src.delete system.out.println...
建立檔案鏈結
硬連線 硬連線指通過索引節點來進行連線。在linux的檔案系統中,儲存在磁碟分割槽中的檔案不管是什麼型別都給它分配乙個編號,稱為索引節點號 inode index 在linux中,多個檔名指向同一索引節點是存在的。一般這種連線就是硬連線。硬連線的作用是允許乙個檔案擁有多個有效路徑名,這樣使用者就可以...