首页 > 代码库 > linux文件系统的那些事
linux文件系统的那些事
1. 文件的特殊权限:
a. SUID:SUID权限仅对二进制文件有效(即可执行文件)
其特殊之处在于,该权限拥有者对其具有x权限的程序进行执行时
具有该程序拥有者的权限(其s特性只体现在该程序执行过程中)。
b. SGID:同理,SGID也只对二进制文件有效。
该程序的执行者在(在其具备x权限的情况下)在执行过程中会获取
该程序用户组的支持。
c. SBIT :其只对目录有效
当用户(在具有对该目录具有w,x权限时)在该目录下创建文件或
目录时,仅有自己和root才有权限删除该文件。
d. 特殊权限的表示方法
4为SUID,2为SGID,1为SBIT
2. Linux的文件系统
a. 基本概念:
Superblock,记录其所在的文件系统的整体信息,比如inode和block的总量,使用量,剩余量,以及文件系统的格式等
Inode,起作用为记录文件属性,一个文件占用一个inode,同时记录此文件所在的block号码
Block,其记录时间数据
b. 基本构架:
一般来说一个分区包含多个block group每一个block group都是一个独立的(由superblock,inode,block组成的)系统。
基本上每个分区即为一个独立的文件系统,而文件系统的最前方有一个启动扇区boot sector,起作用为安装引导程序(多用于多系统的启动)。
3. 文件系统添加文件的过程:
a. 系统首先要判断操作用户是否对该文件有w和x权限
b. 依据inode bitmap找到没有使用inode号码,并将新增文件的权限和和属性写入其中
c. 依据block bitmap找到未使用的block号码,并将新增文件的实际数据写入,同时更新inode对block的指向
d. 将上步写入的inode,block数据同步更新inode bitmap和block bitmap,同时更新superblock的内容
(其中我们将inode table 和data block称为数据存放区域;superblock,block bitmap和inde bitmap等区段称为metadata 即中间数据)
4. 日志文件系统的工作原理
a. 预备阶段:当系统要写入文件时,其会现在日志记录块中记录某个文件准备写入的信息
b. 写入阶段:开始写入文件的权限和数据并更新meta date的数据
c. 完成阶段:完成数据更新后,在日志记录块儿中完成该文件的记录
5. 连接文件
a.hard link:其原理为在某个目录下新建一条文件名连接到某个inode号码的关联记录(不能跨文件系统;连接对象不能是目录)
b.symbolic link:相当于windows系统下的快捷键。其原理为,创建一个独立的文件该文件会让系统对数据的读取操作指向被连接的文件名。
c.命令:硬连接:ln 源目
符号链接:ln –s 源 目
6. Linux系统开机挂载
a.在进行文件系统的卸载时切忌务必先已出挂载目录。
b.开机挂载文件/etc/fstab文件里六个字段的意思
A.磁盘设备文件名或设备的标签号(label)
B.挂载点
C.磁盘分区的 文件系统类型
D.文件系统参数
E.能否被dump作用(0为否1为是)
F.是否可以fsck检验扇区(0否,1先检,2后检)
7.find命令详解
a.-mtime n 其中n为天数;+n,n天之前;-n,n天之后
eg:find / -mtime +9 在根目录下查找9天前的文件
b.-size[+-] 所要查找的文件大小
c.-type所要查找的文件类型
d.-perm所要查找的文件对的权限
e.-exec command后面可跟其他查找命令
eg:find /etc –size +50k ! -user root –exec ll {} \;查找etc目录下大于50kb文件所有者不是root的文件名并将其通过ll列出来
linux文件系统的那些事