文件目录基本属性
查看文件基本属性
- 使用
ls -al
可以查看一个目录下所有文件,子目录的属性
$ ls -al
total 16
drwxr-xr-x 3 lifan lifan 4096 5月 9 15:40 .
drwx------ 37 lifan lifan 4096 5月 9 22:18 ..
drwxr-xr-x 2 lifan lifan 4096 5月 9 15:40 tmp
-rw-r--r-- 1 lifan lifan 39 5月 9 15:24 tmp.bin-hd
lrwxrwxrwx 1 lifan lifan 7 5月 9 15:27 tmp.bin-so -> tmp.bin
显示结果与属性名称对应关系
权限 | 链接数量 | 拥有者 | 用户组 | 文件大小 | 修改日期(文件内容) | 文件名 |
---|---|---|---|---|---|---|
-rw-r--r-- | 1 | lifan | lifan | 39 | 5月 9 15:24 | tmp.bin-hd |
权限字段
权限字段一共10个字符,各个字符含义解释如下
- 第一个字符:
- [-]表示文件,该类别下有分为三类,可以使用
file filename
方式查看文件类别:- 纯文本文件,可以直接阅读内容的文件。
- 二进制文件,一般为系统可直接执行的文件。
- 数据文件,程序运行中读取的文件。
- [d]表示目录
- [l]表示链接文件(软链接)
- 设备文件,一般在
/dev
目录下- [c]字符(character)设备文件,串行端口的接口设备。例如键盘,鼠标等设备
- [b]块(block)存取设备,可随机存储的接口设别。例如硬盘,软盘等
- [s] 数据接口文件。 这类文件通常被用在网络上的数据交换。
/run, /tmp
目录下可以见到这种类型文件 - [p] 数据输送文件(first in first out(FIFO), pipe),用于解决多个程序读取同一个文件的问题。manjaro 下
/run
目录下可见该类型文件
- [-]表示文件,该类别下有分为三类,可以使用
- 2-4 表示拥有者的权限
- 5-7 表示用户组的权限
- 8-10 表示其他人的权限
文件,目录在文件系统下的数据格式
- 目录数据格式:一个inode区块,一个或多个数据区块。inode区块,记录目录的属性;数据区块,记录目录下文件,目录的名称及对应inode号码。
- 文件数据格式:一个inode区块,一个或多个数据区块。inode区块,记录文件的属性;数据区块,记录文件内容。
文件,目录权限对应操作的理解
- 文件权限对应操作
- 文件的r(读),w(写), x(执行)指向内容均为文件的内容
- 目录权限对应操作
- 目录的r(读)指的是对目录数据区块的读取权限。对应到实际操作即,查看目录下文件内容(读取数据区块内容)。
- 目录的w(写)指的是对目录数据区块的修改权限。对应到实际操作即,增加文件,修改文件名,删除文件(修改数据区块内容)。
- 目录的x(执行)指的是能否进入该目录。
- 通过实际操作特殊情况如下。若对目录仅有
r
,通过ls
,仅可查看文件名和权限自字段第一个字符,只有增加x
,可查看完整权限。其他情况如上所述
修改文件,目录属性
- chgrp (change group)修改文件所属用户组
- chgrp [-R] groupname filename/dirname
- -R表示递归的修改目录下子目录,文件用户组
- chgrp [-R] groupname filename/dirname
- chown (change owner)修改文件的拥有者
- chown [-R] username filename/dirname
- -R 作用同上
- chown [-R] username:groupname filename/dirname 可以同时修改拥有者,用户组属性
- chown [-R] username filename/dirname
- chmod 修改文件,目录权限
- chmod [-R] xxx filename/dirname
- -R 作用同上
- xxx是代表属性的三位数字。
- 符号形式
u
,g
,o
分别表示拥有者,用户组,其他人,=
用于设置权限,对应的+
用于增加权限,-
用于删除权限。a
表示对所有身份进行操作。chmod u=rx,g=r,o=r filename/dirname
表示,拥有者设置为写,执行;用户组设置为读;其他人设置为读。chmod u=rw,a+x filename/dirname
拥有者设置为读写,所有身份增加执行权限。
- chmod [-R] xxx filename/dirname
参考
《鸟哥的linux 私房菜》