news 2026/4/23 10:44:53

飞凌嵌入式ElfBoard-获取文件的状态信息之文件权限

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
飞凌嵌入式ElfBoard-获取文件的状态信息之文件权限

前面介绍的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)

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 3:04:34

强力解析:芋道ruoyi-vue-pro如何攻克企业级应用开发难题

当你面对企业级应用开发时,是否经常被这些问题困扰:权限管理复杂难控、业务逻辑耦合度高、技术栈升级困难、系统维护成本巨大?芋道ruoyi-vue-pro企业级开发平台正是为解决这些痛点而生,通过模块化架构和前沿技术栈,为企…

作者头像 李华
网站建设 2026/4/23 8:22:35

Vim移动效率革命:从基础HJKL到智能插件进阶指南

Vim移动效率革命:从基础HJKL到智能插件进阶指南 【免费下载链接】vim-galore :mortar_board: All things Vim! 项目地址: https://gitcode.com/gh_mirrors/vi/vim-galore 还在为Vim中频繁敲击方向键而烦恼吗?是否觉得原生的HJKL移动方式在大型代码…

作者头像 李华
网站建设 2026/4/23 12:16:58

思维导图工具markmap完整指南:从入门到精通

思维导图工具markmap完整指南:从入门到精通 【免费下载链接】markmap Visualize markdown documents as mindmaps 项目地址: https://gitcode.com/gh_mirrors/mark/markmap 你是否曾经面对密密麻麻的Markdown文档感到无从下手?是否希望在整理知识…

作者头像 李华
网站建设 2026/4/22 21:23:22

炸裂!强烈推荐一个 RuoYi-Plus 增强版

Dromara RuoYi-Vue-Plus 是一个针对分布式集群与多租户场景设计的开源后台管理系统,基于 RuoYi-Vue 重写并全方位升级(不兼容原框架),专注于解决分布式环境下的复杂业务需求,且代码与文档完全开源免费可商用&#xff0…

作者头像 李华
网站建设 2026/4/23 12:16:55

PHP 开发者指南 如何在 Composer 中使用本地包

在开发 PHP 项目时,我们通常会依赖发布在 Packagist 上的第三方库。Composer 让安装与管理这些依赖变得非常轻松。 但如果你需要在本地修改并调试某个依赖,而不是每次都发布新版本或推送到 GitHub 呢? 例如:你的项目依赖一个库&…

作者头像 李华
网站建设 2026/4/23 12:17:23

5分钟搞定CopyQ剪贴板管理器:从零开始构建高效工作流

5分钟搞定CopyQ剪贴板管理器:从零开始构建高效工作流 【免费下载链接】CopyQ hluk/CopyQ: CopyQ 是一个高级剪贴板管理器,具有强大的编辑和脚本功能,可以保存系统剪贴板的内容并在以后使用。 项目地址: https://gitcode.com/gh_mirrors/co/…

作者头像 李华