Linux文件属性

Linux文件属性

首先,我们要知道两个知识点:

  • 所有的设备在Linux下都是文件
  • Linux下判断是否可执行是根据文件属性对当前用户来说权限是否可执行

我们先看下Linux文件的基本属性,文件资料范例:

drwxr-xr-x. 4 root root 4096 6月 26 15:18 …

drwxr-xr-x.   4    root     root        4096    6月 26 16:51   .config
drwxr-xr-x.   4    root     root        4096    6月 26 15 :18  ..
drwx------.  21    chenlei  chenlei     4096    7月 13 16:36   .cache
【1】       【2】   【3】    【4】         【5】    【6】         【7】
[权限]     [链接]  [拥有者]  [用户组]    [文件容量]  [修改日期]   [文件名]

其余都没问题,简单明了,但第一栏权限是一个长度为10的字符串,代表的是文件的类型与各种权限,详细说明如下:

  drwxr-xr-x

第一个字符代表这个文件是目录、文件或者链接文件等:

  • 当为[d]则是目录,例如文件名为[.config]那一行
  • 当为[-]则是文件 若为[l]则为链接文件
  • 为[b]则表示为设备里文件里的可供存储的周边设备(可按块随机读写的设备)
  • 为[c]则表示为设备文件里的串行端口设备,例如键盘、鼠标

接下来的字符中,三个为一组,且均为rwx-四个字参数的组合。其中 r代表可读,w代表可写,x代表可执行,-则标识没有权限
第一组表示拥有者的权限,把这10个字符看作一个从1开始的数组的话,【2-4】代表着文件拥有者拥有的权限,【5-7】代表着此用户组里面的账号拥有的权限,【8-10】代表着其他人(即不是文件拥有者也不属于本用户组)的权限
所以上一行示范中 [d]代表这是一个目录 [rwx]代表此目录拥有者拥有读写和执行的权限,[-xr]代表此用户组成员拥有读和执行的权限 [r-x]代表其他人也拥有读和执行的权限
并且,rwx三个参数可以用一个数字来表示:

r:4
w:2
x:1

所以三个参数也可以用三个数字的累加结果来表示,例如【-rwxrwx—】,所以三个身份分别的权限为:

owner = rwx = 4+2+1 = 7
group = rwx = 4+2+1 = 7
others =  --- = 0 + 0 +0 = 0

同时

文件默认的属性是    666  rw rw rw
目录默认属性          777   rwx rwx rwx

这上面的三个属性可以用命令来修改:

chgrp       修改文件所属组         
chown       修改文件所属者          
chmod       修改文件权限         

chgrp [-R] 组名 文件名
chown [-R] 账号名称 文件或目录
chmod [-R] xyz 文件或目录 xyz即三个参数的相加值 如777
R为可选参数,代表进行递归修改,即连同子目录下的所有文件、目录都一起修改的意思

各个权限所拥有的功能:

组件 内容 替代对象 r w x
文件 详细数据data 文件夹 读到文件内容 修改文件内容 执行文件内容
目录 文件名 可分类抽屉 读到文件名 修改文件名 进行该目录的权限

你可能感兴趣的:(Linux)