S_IRUSR是posix的sys / stat.h中的宏常量。它代表用户读取许可位。
前缀S_可能代表“状态”
RUSR可能读取了用户。
但是“我”是什么意思?
最佳答案
命名具有历史意义……可以追溯到UNIX的最早期。 “ S”用于STAT,“ I”用于INODE(在Rationale之外的POSIX本身中并未真正使用的术语),“ R”用于READ,“ USR”用于USER。
Inode确实有一些提及,并且stat结构还包括“ st_ino”,标准将其描述为“文件序列号”。在许多POSIX实现中,索引节点是一种数据结构,其中包含文件的所有元数据(其中大部分是stat()调用读取的内容)。
(摘自Wikipedia :)将这些节点指定为“ i”节点的原因未知。当被问到时,Unix先驱Dennis Ritchie回答:
实际上,我也不知道。这只是我们开始使用的一个术语
用。我的最佳猜测是“索引”,因为文件有点不寻常
将文件的访问信息存储为平面的系统结构
磁盘上的数组,其中包含所有分层目录信息
除了这个。因此,i-number是此数组中的索引,
i节点是数组的选定元素。
(在第一版手册中使用了“ i-”符号;其连字符已逐渐删除。)