Linux 基础学习:文件权限与种类
1.文件权限
linux系统中通过 “ls -al”,可查看当前目录的所有文件的详细信息。
- 第一列代表这个文件的类型与权限;
第一个字符表示文件类型:
-
【d】:表示目录文件
-
【-】:表示普通文件
-
【l】:表示链接文件(linkfile)
-
【b】:表示设备文件里可供存储的接口设备
- 【c】:表示设备文件里的串行端口设备,如键盘鼠标。
- 第二列表示有多少文件名连接到此节点(i-node);
每个文件都会将它的权限与属性记录到文件系统的i-node中,不过我们使用的目录树却是使用文件名来记录,因此,每个文件名就会连接到一个i-node。这个属性记录有多少个不同的文件名连接到相同的一个i-node节点。
- 第三列表示这个文件(或目录)的 “所有者账号”;
- 第四列表示这个文件的所属用户组;
在Linux系统中,你的账号会附属于一个或者多个用户的用户组中,这个用户组就是所属用户组。
- 第五列表示文件大小,默认单位为B
- 第六列为这个文件的创建日期或者最近修改日期
- 第七列为该文件名。
2.修改文件权限
常见的修改用户权限的命令如下:
1. chgrp:改变文件所属用户组
2. chown:改变文件所有者
3. chmod:改变文件权限
- 改变所属用户组chgrp
改变所属用户组很简单,直接使用chgrp xxx。注意所改变的用户组名必须要在/etc/group文件内存在才行,否则会报错。
- 改变文件所有者chown
chown [-R] 用户名称 文件或者目录
chown [-R] 用户名称: 组名 文件或者目录
-R:表示递归更改,即连同子目录下的所有文件
- 改变权限chmod
1. 数字类型修改
chmod [-R] xyz 文件或目录
-R :递归执行
xyz:数字类型的权限属性(r:4 w:2 x:1)
chmod 770 a.c (rwxrwx---)
2. 符号类型修改
u: user
g: group
o: others
a: all(全部身份)
chmod u/g/o/a +/-/= r/w/x
举例:
chmod u=rwx,go=rx .bashrc (-rwxr-xr-x )
注意go=rx在一起,相当于g=rx,o=rx
chmod a+w .bashrc (-rwxrwxrwx)
chmod a-x .bashrc (-rw-rw-rw-)
3.linux文件种类
- 普通文件
- 纯文本文件(ASCII)
- 二进制文件(binary)
- 数据格式文件(data)
- 目录文件(dir)
- 链接文件(link)
- 设备与设备文件(dev)
- 块设备文件(block)
- 字符设备文件(character)
- 套接字(socket)
- 管道(FIFO,pipe)