ls -l
命令在Linux和类Unix系统中用来以长列表格式显示目录内容,其中包括文件的详细信息,如权限、链接数、所有者、组、大小、时间和名称。
第一列特别显示了文件的权限和类型。以下是具体解读:
1 第一个字符 - 文件类型
'-' | 普通文件 |
'd' | 目录 |
'l' | 链接 |
'c' | 字符设备文件 |
'b' | 块设备文件 |
's' | 套接字 |
'p' | 管道 |
2 接下来的就个字符 - 文件权限,分为三组,每组三个字符
- 第2-4字符:文件所有者的权限
'r' | 读权限 |
'w' | 写权限 |
'x' | 执行权限 |
'-' | 无此权限 |
- 第5-7字符:与文件所有者同组的用户的权限
- 第8-10字符:其他用户的权限
每组中的rwx
分别代表读(read)、写(write)和执行(execute)权限。如果某位置上是-
,则表示相应的权限被禁止。
3 特殊权限标记(位于权限字符之后)
'.' | 表示有一个安全上下文,但没有额外的权限 |
'+' | 表示除了正常权限之外,还有额外的访问控制列表(ACL) |
4 示例
一个常见的权限字符串如 '-rw-r--r--' 的解读:
'-':这是一个普通文件
'rw-':文件所有者拥有读和写权限
'r--':与文件所有者在同一组的用户只有读权限
'r--':其他用户也只有读权限