文件管理
-
文件的作用
- 在Linux系统中,它将所有的一切一切都以文件方式存放在系统之中(目录也是一种特殊的文件)。
- 因此对系统的管理,说到底即是对文件的管理。
-
Linux文件的命名规则
- 文件名最大为255个字符。
- 文件名中不能包括Linux特殊字符如“\”、”/”等(如果在文件中使用这些特殊符号可通过转义符”\”来将其转义)。
- 以“.”开头的文件为隐藏文件。
-
Linux中文件相关信息
-
Linux文件类型
- 当用户查看文件详细信息时,第一个字符就是这个文件的类型:
-:一般文件
d:目录文件
b:块设备文件
c:字符设备文件
l:链接文件
p:人工管道 - 检查文件类型的其它方法
file <文件名>
stat <文件名>
- 当用户查看文件详细信息时,第一个字符就是这个文件的类型:
-
文件权限
- 对于每一个文件,Linux都提供了一套文件权限系统。
- 在文件权限系统中,将可以操作文件的用户都分为三类:
文件的所有者(u)
文件的所属组(g)
其它用户(o) - 对于第一类用户,权限系统又分别给他们提供三种权限(rwx)。
- 针对文件而言,这三种权限含义为:
读(r):用户是否有权读取文件内容
写(w):用户是否有权对文件进行更改
执行(x):用户是否有权执行文件 - 用户可使用chmod命令来改变文件的权限。
语法:chmod <权限> <文件名> - 改变文件权限的方法大致可分为三种:
- 通过”+”、”-“来为某类用户添加或去掉相关权限
如:chmod u+x file //为文件所有者添加可执行权限 - 通过”=”为某用类户赋于权限
如:chmod g=rw file //为文件所属的组赋于读、写权限 - 通过三个数字来为三类用户分别赋于权限
如:chmod 777 file //文件对所有人开放
- 通过”+”、”-“来为某类用户添加或去掉相关权限
- chmod后用三位数字开表示用户权限:
- 第一位数字代表文件所有者
- 第二位数字代表文件所属组
- 第三位数字代表其它用户
- 每一个数字都采用加和的方式得出
- 4( 读)
- 2 (写)
- 1 (执行)
如:chmod 755 file //为文件赋于rwxr-xr-x的权限
分析:u(7=4+2+1 rwx)g(5=4+1 rx)o(5=4+1 rx)
- 只有文件拥有者和root用户才可以改变文件权限。
- 每个文件都有一个所有者,只有root用户才可以通过使用”chown”命令来改变文件的所有者
命令: chown <用户名> <文件名> - 每个文件都属于且只能属于一个指定的组,文件的所有者与root用户,可以使用”chgrp”命令来改变文件所属组。
注:当使用文件所有者来改变属组时,那么被改变到的新组中,必须包含此用户。
命令:chgrp <组名> <文件名>
备:root用户可使用 ”chown <用户名>:<组名> <文件名>“ 来同时改变文件的所有者和所属组
-
文件访问控制列表ACL
- ACL可为某个文件或目录单独设置具体的某用户或组的权限。
- getfacl <文件名>
获取文件的ACL信息 - setfacl 设置文件的ACL
- -m 修改文件的ACL
- -x 取消用户或组对文件的权限
- 命令语法:
setfacl -m u:<用户名>:<权限> <文件名> //设置某用户的访问权限
setfacl -m g:<组名>:<权限> <文件名> //设置某个组的访问权限
setfacl -x u:<用户名> <文件名> //取消某用户的访问权限
setfacl -x g:<组名> <文件名> //取消某个组的访问权限
setfacl -R -m u:<用户名>:<权限> <目录名> //为某目录设置某用户的权限且递归(目录及文件)下去
setfacl -R -m d:u:<用户名>:<权限> <目录名> //为某目录设置某用户的默认权限且递归(仅目录)下去
setfacl -R -m g:<组名>:<权限> <目录名> //为某目录设置某个组的权限且递归(目录及文件)下去
setfacl -R -m d:g:<组名>:<权限> <目录名> //为某目录设置某个组的默认权限且递归(仅目录)下去
setfacl -m d:m:<权限> //为某目录设置有效的权限掩码
setfacl -R -b <目录名> //清除某目录下的所有扩展ACL权限
- 小实验:管理员在”/share/”目录下建立了一个”notice.txt”文件,在不更改默认权限与属主和属组的情况下,让用户lucy对其具有可写权。
默认情况:
默认ACL、更改ACL:
当更改文件ACL,权限后面的”.”变为”+”;
测试:
-
链接文件
- 软链接(符号链接)
- 软链接就像为文件创建了一个新的指针,当对软链接进行操作时,系统会找到原文件并对原文件进行操作(类似于windows中的快捷方式)。
- 命令语法:ln -s <原文件> <新建链接文件>
- 硬链接
- 硬链接文件完全等同于原文件,原文件名和链接文件都指向相同的物理地址
- 命令语法:ln <原文件> <新建链接文件>
- 硬链接描述
- 不可跨文件系统创建硬链接,也不可为目录创建硬链接
- 文件在磁盘中的数据是唯一的,这样就可以节省硬盘空间
- 由于只有当删除文件的最后一个节点时,文件才能真正从文件磁盘空间中清除,因此可以防止不必要的误删除
- 软链接(符号链接)
页码: 1 2