文件属性
例子
dr-xr-x---. 6 root root 4096 Sep 18 18:21 .
dr-xr-xr-x. 18 root root 4096 Sep 18 10:33 ..
-rw------- 1 root root 2317 Sep 18 18:53 .bash_history
-rw-r--r--. 1 root root 18 May 11 2019 .bash_logout
-rw-r--r--. 1 root root 176 May 11 2019 .bash_profile
-rw-r--r--. 1 root root 176 May 11 2019 .bashrc
drwx------ 3 root root 4096 Sep 18 18:21 .config
drwxr-xr-x 3 root root 4096 Sep 18 18:08 C++_projects
-rw-r--r--. 1 root root 100 May 11 2019 .cshrc
drwx------ 2 root root 4096 Sep 18 10:33 .ssh
-rw-r--r--. 1 root root 129 May 11 2019 .tcshrc
-rw------- 1 root root 10601 Sep 18 18:19 .viminfo
drwxr-xr-x 3 root root 4096 Sep 18 18:04 .vs
-
第一段字符里的首字符代表这个文件是目录、文件或链接文件等
- 当为d时,表示目录
- 当为-时,表示文件
- 当为l时,表示链接文件
- 当为b时,表示为设备文件里面可供存储的周边设备(可按块随机读写设备)
- 当为c时,表示为设备文件里面的串行端口设备(如鼠标键盘)
-
第一段字符里接下来的字符,以三个为一组,且均为rwx-的组合,其中r表示可读,w表示可写,x表示可执行,如果是-,表示缺少这个权限。
- 第一组为文件拥有者可具备的权限
- 第二组为加入此用户组的账号的权限
- 第三组为非本人且没有加入本用户组的其它账号的权限
-
第二段字符表示有多少文件名链接到此节点
- 每个文件都会将它的权限与属性记录到文件系统的inode中,不过我们使用的目录树却是使用文件名来记录,因此每个文件名都会链接到一个inode,这个属性就是记录有多少不同的文件名链接到同一个inode号。
-
第三段字符表示这个文件(目录)拥有者的账号
-
第四段字符表示这个文件的所属用户组
-
第五段字符表示这个文件的容量大小
-
第六段字符表示这个文件的创建日期或最近修改日期
-
第七段表示这个文件的文件名
Note
drwxr-xr-- 1 test1 testgroup 5238 Jun 19 10:25 groups/
上面这个文件夹其它人因为只有r权限,而没有x权限,故不能进入目录,testgroup的成员能进入此目录,在该目录工作,但不能对该目录进行写入操作。而文件拥有者test1可以在本目录进行任何工作
对于文件夹而言,
- 读权限表示具有读取目录结构列表的权限,所以当你具有读取一个目录的权限时,表示你可以用ls命令查询该目录下文件名数据
- 写权限表示具有改动该目录结构列表的权限,相当于拥有以下权限
- 建立新的文件与目录
- 删除已有的文件与目录(而不论该文件本身的权限)
- 将已有的文件或目录更名
- 移动该目录内的文件、目录的位置
- 执行权限表示进入该目录,已成为工作目录的用途(cd)
修改文件属性与权限
三个常用命令
- chgrp: 修改文件所属用户组
- 格式:chgrp 用户组名 文件名
- 要修改的组名必须要在/etc/group文件中存在才行
- chown: 修改文件拥有者
- 格式:chown 用户名 文件
- 要修改的用户名必须在/etc/passwd文件中存在才行
- 在chown上加上-R选项可连目录下的所有子目录或文件同时更改文件拥有者。
- chmod: 修改文件权限
- 格式:chmod 三位数字 文件 / chmod u=权限,g=权限,o=权限 文件
- r:4,w:2,x:1,所以rwx=4+2+1=7,rw=6,wx=3,rx=5
- 在符号类型修改文件权限中,u相当于文件拥有者,g相当于用户组,o相当于其他人,a为全部人,+号表示添加,-号表示移除,=号表示设置。
- 则chmod 777 文件名 相当于 chmod a=rwx 文件名 相当于 chmod ugo=rwx 文件名 相当于 chmod u=rwx,g=rwx,o=rwx 文件名
- 加上-R选项可对目录下所有子目录或文件同时更改权限
文件种类及扩展名
- 文件种类
- 常规文件,属性为[-]
- 纯文本文件(ASCll),人类可直接读取到的数据
- 二进制文件(binary)
- 数据文件(data),有些特定格式的文件称为数据文件,用常规命令如cat读取会是乱码,而用last命令可以读出来
- 目录,属性为[d]
- 链接文件,属性为[l]
- 设备与设备文件,与系统周边及存储等相关的一些文件,通常集中在/dev这个目录下
- 区块设备文件,存储一些数据,以提供系统随机存取的接口设备(硬盘,软盘),属性为[b]
- 字符设备文件,一些串行端口的接口设备(鼠标、键盘),属性为[c]
- 数据接口文件(sockets),属性为[s]。通常用于在网络上进行数据交换。
- 数据输送文件(FIFO,pipe):一种特殊的文件类型,用于解决多个程序同时读写一个文件所造成的错误问题,FIFO即先进先出,pipe即管道,,属性为[p]
- 常规文件,属性为[-]