‘drwx------’到底啥意思?
‘776’、‘667’、啥意思呢?
如上图所示,在Liunx中显示的最基本的信息,那每一列都是什么意思呢?下面我们就_从左到右逐列_的分析:
1.第一列是当前文件的类型,包括:
d
— directory 文件夹;
l
— 链接文件;该类文件后面会有一个箭头,指向原地址。所以该类类似于windows中的快捷方式的文件;
s
— 套接字文件类型;以.sock
结尾的文件;
b
— 这类是系统存储数据用的块设备文件;
c
— 这类是串行接口设备文件;比如:键盘、鼠标等链接的文件;
-
— 普通文件类型。比如:.log、.gz、_.sh_等文件都会是-
普通类型文件;
最常见的就是 d
、-
这两种类型;
2.第二、三、四列
这三列为一组。这一组代表文件所有者拥有的权限;权限分为:
r
— 可读权限;针对文件有读取文件内容的权限,针对目录有浏览目录的权限;
w
— 可写权限;针对文件有修改、删除、新增文件内容的权限,针对目录有新建、删除、修改、移动目录内文件的权限;
x
— 可执行权限;针对文件有执行当前文件的权限,针对目录有进入该目录的权限;
(后面的缩写意义一样)
拥有那个权限就显示相应的字母,否则显示-
;
3.第五、六、七列
这三列为一组;这一组代表的是文件所有组对当前文件夹或者文件拥有的权限。也就是所有者所属的用户组;同样是分为r
、w
、x
;
4.第八、九、十列
这三列为一组;代表的是其他用户对当前文件夹或者文件拥有的权限;同样是分为r
、w
、x
;
第十一列:表示当前文件中的"链接数"。如果当前文件夹是目录则表示:当前目录中包含其他目录的个数,但是得+2;
解释一下为什么+2:
在Liunx中,我们最最常用的命令就是cd
,而且后面常常就是:..
,表示跳转到上一级目录;而每个目录中都有**.
和..
**;可是使用ls -al
命令查看,平常使用的ll
命令,不会显示隐藏的.
和..
目录的;
所以目录的链接数需要+2;其他非目录的链接数
都是1;
5.第十二列:表示当前文件的所有者;
6.第十三列:表示当前文件的所有组;
7.第十四列:表示当前文件的大小;
8.从十五到最后就是当前文件的创建时间或者最近的更新时间,但是格式是美式的(xx月 xx日 时:分);
上面提到文件的权限分为:r
、w
、x
;而且从第2列到第10列,分为三组,每3列一组。那在管理者在使用chmod
命令改变文件所有者权限
、文件所有组权限
、其他用户权限
时,可以直接使用相应的字母,但还可以使用八进制
数字表示:
r — 4
w — 2
x — 1
那么就会有:
rwx — 7
rx- — 6
r-x — 5
r-- — 4
-wx — 3
-w- — 2
–x — 1
— --- 0
比如说:776
对应:drwxrwxrw-
以此类推;
liunx基于文件的权限管理非常强大。
欢迎留言、探讨、拍砖