1、st_mode:
在windows下,点开一个文件详细信息,你会看到有创建时间、大小、位置等。linux下要把这些信息存放在一个结构体中,这个结构中有个mode_t类型(无符号整型)的st_mode变量,这个变量提供了文件的类型和文件的权限信息,一个无符号整型能整出这么多信息?7种文件类型和3种权限两部分信息。是的。只用了unsigned int低16位,分成三个部分,表示三种信息。前4位,也就是15bit~12bit表示文件类型,0001是FIFO文件,0100是目录文件等。
Linux:st_mode详细分析_Echo_Xiaozhi的博客-CSDN博客
2、umask
心创建的文件和目录,他们的权限由umask码确定。umask与chmod相反,假如新创建的目录权限是777,umask值是002那么,新创建的目录权限值是rwxrwxr-x。