在《文件系统研究、一 i节点》中提到了i节点的结构,如下
struct dinode
{
ushort di_mode; /*文件类型+用户权限*/
……
time_t di_ctime; /*创建时间*/
};
ushort di_mode是16位2进制数,保存的就是文件类型及用户权限信息,具体结构如下:
4 8 12 16
u
g
s
r
w
x
r
w
x
r
w
x
第1-4 位 -- 文件类型位
第5位 -- suid位
第6位 -- sgid位
第7位 -- sticky位
第8-10位 -- 文件属主权限位
第11-13 -- 文件属组权限位
第14-16 -- 其他用户权限位
1、文件类型分类
d -- 目录文件 f -- 普通文件 b -- 块设备文件 c -- 字符设备文件 l -- 链接文件
用l -l命令可以看到,红色字符部分就是文件类型:
例如:
576# l -lWv /tmp
total 22
-rw-r--r-- 1 root sys 6 Jul 5 05:39 abcnew
drwxr-xr-x 2 root sys 512 Jul 5 07:38 test
2、文件