一:认识文件系统:
(1):Linux系统支持数十种的文件系统,常见的有这几种:
1:Ext3:是一款日志文件系统,能够在系统异常宕机时避免文件系统资料丢失,并能自动修复数据的不一致与错误。然而,
当硬盘容量较大时,所需的修复时间也会很长,而且也不能百分之百地保证资料不会丢失。
2:Ext4:Ext3的改进版本,作为RHEL 6系统中的默认文件管理系统,它支持的存储容量高达1EB(1EB=1 073741 824GB),
且能够有无限多的子目录。另外,Ext4文件系统能够批量分配block块,从而极大地提高了读写效率。
(2):介绍XFS文件系统:
1:XFS:是一种高性能的日志文件系统,而且是RHEL 7中默认的文件管理系统。
2:硬盘要存入的数据三非常多的,因此在磁盘中有一个叫super block(硬盘地图)他记录着整个文件系统的信息.
3:super block记录方式:Linux将每个文件的权限与属性记录在inode中,且每个文件占用一个独立的inode表格该表格的大小默认为128字节。
4:记录的信息为:
•该文件的访问权限(read、write、execute)。
•该文件的所有者与所属组(owner、group)。
•该文件的大小(size)。
•该文件的创建或内容修改时间(ctime)。
•该文件的最后一次访问时间(atime)。
•该文件的修改时间(mtime)。
•文件的特殊权限(SUID、SGID、SBIT)。
•该文件的真实数据地址(point)。
5:文件内容的存储:当inode存储完后,就将文件内容存储在一个个block块中,block的大小有几种情况,
当用户想要读取文件时,系统就把每个block串起来,用户就可以读到完整的文件内容。
6:block存储的情况:
•情况1:文件很小(1KB),但依然会占用一个block,因此会浪费3KB。
•情况2:文件很大(5KB),那么会占用两个block(5KB-4KB后剩下的1KB也要占用一个block)
二:理解Linux文件系统目录结构:
(1):前言:在Linux系统中,目录、字符设备、块设备、套接字、打印机等都被抽象成了文件:Linux系统中一切都是文件,那么就需要
我们学会去找,去操作这些文件,在window系统中硬盘是有划分的,我们常常将不同的内容放到不同的分区中和不同的文件名中.
但是在Linux中硬盘是没有分区的,一切文件都是以(/)根目录开始的。并按照文件系统层次化标准(Filesystem Aierarchy Standard,FHS)
采用树形结构来存放文件,以及定义了常见目录的用途。另外,Linux系统中的文件和目录名称是严格区分大小写的。
三:管理Linux文件权限:
(1): 认识文件:
1:与其他操作系统相比,Linux最大的不同就是没有“扩展名”的概念,也就是说文件的名称和该文件的种类并没有直接的关联.
2:Linux文件区分大小写,如d.txt和D.txt是一个不同的文件.
3:在Linux系统中,如果文件名以“。”开始,表示该文件为隐藏文件,需要使用“ls -a”命令才能显示。
(2):认识文件的三种访问方式:
1:只允许用户自己访问
2:允许一个预先指定的用户组中的用户访问
3:允许系统中的任何用户访问
(3):根据限制访问的方式而定义出三种访问权限,由于具有三种访问者,因此共分为9种访问权限.
1:三种访问者:所有者、用户组,其他用户
2:所有者是创建文件的用户,文件的所有者能够授予所在用户组的其他成员以及系统中除所属组之外的其他用户的文件访问权限。
(4):使用ls -l或ll命令来显示文件的详细信息和权限,通过实例来分析权限的
[dengzhaoxu@calm ~]$ ls -l
总用量 4
(-rw-rw-r--). (1) (deng) (deng) (251) (2月 6 22:13) (test)
drwxr-xr-x. 3 deng deng 20 2月 4 13:38 公共
drwxr-xr-x. 2 deng deng 6 12月 25 22:33 模板
drwxr-xr-x. 2 deng deng 6 12月 25 22:33 视频
drwxr-xr-x. 2 deng dengz 6 12月 25 22:33 图片
[dengzhaoxu@calm ~]$
1:每一行代表一个文件信息,一个文件分为7组(为了方便,我使用括号将其括起来)
一组:文件类型权限:该组的第一个字符为-类型表示该文件是一个普通的文件,类型一共分为d、-、l、b、c、s、p。
后面还有9个字符分为三组,从第二个字符r开始,(rw-),(rw-),(r--),
也就是三组对三个不同访问者的权限.组一(rw-)是对所有者而言的,在分别是所属组成员的权限,其他用户的权限.
r:代表读取,w(代表写入),-:代表不具有该权限,x:代表执行权限。注意r,w,x的位置是固定的
-rw-rw-r-x:该文件是普通文件,文件所有者与同组用户对文件具有读写的权限,而其他用户仅具有读取和执行的权限。
二组:第2组表示有多少文件名连结到此节点(i-node)
三组:文件拥有者的帐号.
四组:文件所属群组,
五组:文件容量,以字节为单位
六组:文件最后被修改时间
七组:文件名.
(5):修改文件权限:修改文件权限的方式有很多.
(1):使用chmod:
格式:chmod 选项 文件名:
选项代表权限,以数字来代笔:r:4,w:2,x:1,-:0
将每组的数字加起来就代表访问者的权限.
[dengzhaoxu@calm ~]$ ls -l test
-rw-rw-r--. 1 dengzhaoxu dengzhaoxu 251 2月 6 22:13 test
[dengzhaoxu@calm ~]$ chmod 754 test //7:4+2+1,5:4+0+1,4:4+0+0.
[dengzhaoxu@calm ~]$ ls -l test
-rwxr-xr--. 1 dengzhaoxu dengzhaoxu 251 2月 6 22:13 test
[dengzhaoxu@calm ~]$
四:修改文件与目录的默认权限与隐藏权限
(1):文件权限包括读(r)、写(w)、执行(x)等基本权限,决定文件类型的属性包括目录(d)、文件(-)、连结符等。
修改权限的方法(chgrp,chown,chmod).
(2):理解文件预设权限:umask //注意目录和文件的权限不同点
1: [root@calm dengzhaoxu]# umask -S
u=rwx,g=rx,o=rx
[root@calm dengzhaoxu]# umask
0022 //前面的0为特殊权限。后面的022才是一般权限
[root@calm dengzhaoxu]# umask -S //观察0022和下面这几个用户权限,非预设时r:2,w:4,-:1
u=rwx,g=rx,o=rx
[root@calm dengzhaoxu]#
2:预设权限:umask指的就是用户在创建文件时的默认权限.umask等价于umask -S:他们只是表示的形式不同.
3:目录和文件的权限:
目录与文件的默认权限是不一样的。我们知道,x权限对于目录是非常重要的。但是一般文件的建立是不应该有执行的权限。
因为一般文件通常是用于数据的记录,当然不需要执行的权限。因此,预设的情况就会不同.
4:理解umask预设权限的分值:
【注意】:umask的分值指的是该默认值需要减掉的权限(r、w、x分别对应的是4、2、1),具体如下。
•去掉写入的权限时,umask的分值输入2。
•去掉读取的权限时,umask的分值输入4。
•去掉读取和写入的权限时,umask的分值输入6。
•去掉执行和写入的权限时,umask的分值输入3。
(3):设置文件隐藏属性.
1:chattr:改变文件属性.
2:lsattr命令(显示文件隐藏属性)
(4):设置文件特殊权限:SUID、SGID、SBIT