ll或ls -l命令展示信息详解
1 | [root@localhost ~]# ll |
字段1 | 字段2 | 字段3 | 字段4 | 字段5 | 字段6,7,8 | 字段9 |
---|---|---|---|---|---|---|
属性 | 文件硬链接数或目录子目录数 | 拥有者 | 拥有者所在的组 | 大小(以字节为单位) | 日期 | 名称 |
drwxr-xr-x. | 2 | root | root | 6 | Apr 22 10:12 | 123 |
字段1(文件/目录属性)
第一个字符表示文件类别,如下:
- -:普通文件
- d:目录文件
- b:块设备文件
- c:字符设备文件
- l:符号链接文件
- s: 表示该文件为套接字文件(socket),用于进程间通信
- p: 管道
后9个字符代表3组访问权限:
- 前3个字符是授权文件所有者的权限;
- 中间3个字符是授权同组用户的权限;
- 后3个字符是授权其他用户的权限。
每一组的3个字符一次表示读、写、执行权限,其中:
- r:表示有读权限
- w:表示有写权限
- x:表示有执行权限
- -:表示没有相应的权限
最后一个字符点(.)或者加号(+):
1 | ll -Z |
开启SELinux功能的Linux系统才会有这个点。 点表示文件带有“SELinux的安全上下文”。
CentOS7默认是开启SELinux的,所以会有这个点, 如果关闭SELinux,然后再创建文件,新创建的文件就不会再有这个点了, 但是以前创建的文件本来有这个点的还会显示这个点(虽然SELinux不起作用了)。
加了ACL权限控制之后,之前具有SELinux属性的文件和目录的权限列最后一个位置全部变成了加号(+)。移除原来的ACL权限之后,恢复原样。
总结:
- Linux权限列的点不是无意义字符。在开启SELinux的情况下创建的目录和文件有具有这个点,权限列有这个点说明该目录或文件以及设置了SELinux相关的权限。在禁用SELinux权限之后,在之前开启SELinux权限时创建的文件或目录保持原来的权限不便,权限列的点依然显示。新创建的目录或文件在权限列无这个点显示。
- 权限列中最后一个位置如果是加号,说明这个目录或文件已经设置了ACL权限相关的内容。如果加号存在,则已经有点的目录或文件,点的显示会被覆盖,但原来的SELinux属性保持不变。
字段2(文件硬链接数或目录子目录数)
- 新建文件默认数字为1,代表一个硬链接
- 新建目录默认数字为2,代表拥有两个子目录( . 和 .. )