Linux文件属性
了解文件属性首先要知道查看文件的命令【ls】,当然我们在学习文件属性时为了列出文件详细的权限和属性还有一些隐藏文件,我们可以加上【-al】的选项
![ls -al](https://note.youdao.com/yws/api/personal/file/514627A53EB24B65AD74BC3BC38742A0?method=download&shareKey=201e4280c867ee398949d4766de9b2d2)
现在我们看到的就是一个较为完整的文件属性信息了,我们现在逐列解释其含义
* 第一栏表示这个文件的类型和权限,这一栏一共有十个字符
第一个代表的是目录、文件或者链接文件等,【d】表示为目录,【-】表示为文件,【|】表示为链接文件,【b】表示为可供存储的周边设备,【c】表示设备文件
接下来的字符三个一组,且均为【rwx】三个参数的组合,【r】代表可读,【w】代表可写,【x】代表可执行,如果没有权限就是【-】表示
第一组为文件拥有者权限,第二组为加入此用户组的权限,第三组为没有加入本用户组的其他账号权限
* 第二栏表示有多少个文件或者目录链接到此节点上
* 第三栏表示这个文件或者目录的拥有者账号
* 第四栏表示这个文件的所属用户组
* 第五栏表示这个文件的容器大小,默认单位为Bytes
* 第六栏为这个文件的创建日期或是最近的修改日期,如果距离现在太久就只显示年分而已
* 第七栏就是文件名了,基本上Linux没有所谓的拓展名,一个文件能不能执行与第一栏的是个属性相关
修改文件属性和权限
修改权限的命令常用的就是有【chgrp】、【chown】和【chmod】三个,它们分别修改所属用户组、拥有者和文件权限
修改用户组和拥有者很简单,只需要命令加上新的用户组或者拥有者再加上文件名即可,如果想要递归改变下面所有的文件也可以增加【-R】选项
接下来是【chmod】命令,有两种方法设置文件属性,可以使用数字或者是字符来进行修改
用数字的话需要知道【rwx】每个字母类似二进制的模式,分别代表4、2、1三个数字,所以当权限为【-rwxrwx---】,数字表示就是每三位相加得到770
符号类型就写法就比较灵活了,可以用【+】【-】【=】来表示增加、移除和重置新的权限,如果不声明角色那就是改变当前用户的权限
如果想改变不同角色的文件权限可以用【u】【g】【o】来表示身份,或者用【a】来代表all都适用,语法如下
命令 |
身份 |
操作 |
符号 |
对象 |
chmod |
u/g/o/a |
+/-/= |
rwx |
文件或者目录 |
目录与文件的权限意义
文件:
* 【r】 可读取此文件的实际内容
* 【w】 可以编辑、新增或是修改该文件的内容,不包括删除
* 【x】 该文件可以有被系统执行的权限
目录:
* 【r】 具有读取目录结构列表的权限
* 【w】 建立新的文件和目录 删除已存在的文件和目录 将已存在的文件重命名 移动该目录内的文件、目录位置
* 【x】 表示用户能否进入该目录的权限