Linux 文件属性
ls 是 list 的意思,重点在显示文件的文件名与相关属性。选项 -al 表示列出所有的文件详细的权限与属性(包含隐藏文件,就是文件名第一个字符为 . 的文件)
-
第一栏代表这个文件的类型与权限(permission):
- 第一个字符代表这个文件是【目录、文件或链接文件等】
- 当[ d ]则是目录
- 当[ - ]则是文件
- 若[ l ]则表示为连结档(link file)
- 若[ b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置)
- 若[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)
- 接下来的字符中,以三个为一组,均为[ rwx ]的三个参数的组合。其中[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)。要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现中划线[ - ]而已。
- 第一组为【文件拥有者可具备的权限】
- 第二组为【加入此群组之账号的权限】
- 第三组为【非本人且没有加入本群组之其他账号的权限】
-
第二栏表示有多少档名连结到此节点(i-node):
每个文件都会将他的权限与属性记录到文件系统的 i-node 中,不过,我们使用的目录树确实使用文件名来记录,因此每个档名就会连结到一个 i-node。
-
第三栏表示这个文件(或目录)的【拥有者账号】
-
第四栏表示这个文件的所属群组
在 Linux 系统下,你的账号会加入于一个或多个的群组中。
-
第五栏为这个文件的容量大小,默认单位为 bytes
-
第六栏为这个文件的建档日期或者是最近的修改日期
这一栏的内容分别为日期(月/日)及时间。如果这个时间被修改的时间距离现在太久了,那么时间部分就会仅显示年份而已。如果想要显示完整的时间格式,可以利用 ls 的选项,就可以
-
第七栏为文件的档名
如果档名之前多个[ . ],则代表这个文件为隐藏档
Linux 文件权限的重要性
与 Windows 系统不一样的是,在 Linux 系统当中,每一个文件都多加了很多的属性进来,尤其是群组的概念,这样有什么用途呢?其实,最大的用途是在【数据安全性】上面的。
- 系统保护的功能
- 团队开发软件或数据共享的功能
- 未将权限设定妥当的危害
改变文件属性与权限
- chgrp:改变文件所属群组
- chown:改变文件拥有者
- chmod:改变文件的权限,SUID,SGID,SBIT等等的特效