飞凌嵌入式ElfBoard-获取文件的状态信息之文件权限
2026/5/12 10:55:14 网站建设 项目流程

前面介绍的struct stat结构体中st_mode字段记录了文件的类型和文件的访问权限。因为Linux系统是由文件构成的,所以这里的文件权限适用于Linux系统所有的文件,包括目录、文件、设备、软连接等等,这里就不一一列举了。在这些权限中分为普通权限和特殊权限。

这里讲的普通权限就是前面的st_mode字段中所说的文件所有者权限、同组用户权限和其他用户权限,下面来回忆一下这些权限有什么内容:

文件权限

权限宏

含义

文件所有者权限(U)

S_IRUSR

读权限(r)

S_IWUSR

写权限(w)

S_IXUSR

执行权限(x)

同组用户权限(G)

S_IRGRP

读权限(r)

S_IWGRP

写权限(w)

S_IXGRP

执行权限(x)

其他用户权限(O)

S_IROTH

读权限(r)

S_IWOTH

写权限(w)

S_IXOTH

执行权限(x)

知道了上面的内容以后先看一下系统中是如何对这些权限描述的。

$ ls -l

total 36

-rwxr-xr-x 1 elf elf 16176 8月 22 16:30 chown_test

-rw-r--r-- 1 elf elf 440 8月 22 16:30 chown_test.c

-rwxr-xr-x 1 root root 16272 8月 22 16:28 lstat_test

以chown_test为例,可以看到他前面的权限为-rwxr-xr-x,这里咱们先省略左边第一个“-”,从第二个开始每三个一组,分别对应的“rwx”文件所有者有读写执行权限、“r-x”同组用户有读和执行权限、“r-x”其他用户有读和执行权限。

下面说说左边第一个“-”是什么意思。

-:表示这是一个常规文件(普通文件),如文本文件、可执行文件等。

b:表示这是一个块设备文件,如硬盘、光驱等。

c:表示这是一个字符设备文件,如键盘、鼠标等。

l:表示这是一个符号链接(软连接)。

s:表示这是一个套接字文件(socket)。

p:表示这是一个管道文件(FIFO)

所以左边第一个“-”代表为可执行文件。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询