文件系统
文件系统filesystem是操作系统内核中负责组织管理磁盘的程序。 linux常见文件系统有xfs、ext4 和 btrfs 文件系统,它们都是日志文件系统(其特点是文件系统将没提交的数据变化保存到日志文件,以便在系统崩溃或者掉电时恢复数据) 每个硬盘分区都要有一个文件系统:
- 硬盘分区—-》打隔断,分割出一个个小空间
- 文件系统—-》对一个个小空间做装修,负责把空间的数据组织好 文件系统组织好了之后带来的方便之处
- 使用者—–》 block 块(文件系统)—–》n 个扇区(硬盘的读写单位)
一个文件系统包含的三大类块: 文件有两部分数据构成:
- 元数据:ls -l 的结果如权限、属主、数组——-》inode block 块
- 内容数据:cat 看到的结果,真正的内容 ——-》data block
superblock 超级块:记录此 filesystem 的整体信息,包括 inode/block 的总量、使用量、剩余量,以及文件系统的格式与相关信息等;
其中: superblock 一个文件系统整体就一个 对一个文件来说: inode block 就 1 个 data block 可能有多个
查看文件类型
|
|
查看一个文件内容底层流程
文件夹也是文件: 元数据:权限、属主、属组、、、——》inode block块 内容数据:存的该文件夹包含的——–》data block块 子文件名—–》inode块的编号 子文件夹名—–》inode块的编号
普通文件: 元数据:权限、属主、属组、、、——–》inode block块 内容数据:你写的文件中的数据——–》data block块
cat /etc/passwd
硬链接、软链接
硬链接:目标文件与源文件指向同一个 inode 号
ln /1. txt /2. txt 特点: 1、改动一个文件元数据或内容,另外一个也跟着变 2、删除源文件,仅仅只是解除了源文件名与 inode 号的关联关系 所以不会影响目标文件 3、硬链接无法跨分区 [ root@localhost ~]# ln /1. txt /boot/3. txt ln: 无法创建硬链接"/boot/3. txt" => “/1. txt”: 无效的跨设备连接 4、不能对目录做硬链接
软连接:目标文件指向的是源文件的文件名
ln -s /1. txt /4. txt 特点: 1、改动一个文件内容,另外一个也跟着变 改元数据的话,彼此之间不会互相影响 2、删除源文件/1.txt,目标文件不可用 3、软连接可以跨分区,因为是指向文件名 ln -s /1.txt /boot/5.txt 4、可以对目录做软链接
用户、组管理(⭐)
什么是用户 ?组?
如果把整个系统当成一个公司 用户 指的就是一个个员工 超级管理员 就是所有员工里的老板 组 指的就是部门
为何要有用户?组?
为了划分权限 具体来说分成三大类: u:文件归属的主人,简称属主 g:文件归属的组,简称属组 o:不是u也不是g里的成员,统称为其他人o
每个进程都是以某个用户 xxx 身份启动 ps aux # 第一列就是当前进程的用户身份 当该要操作某个文件时,进程会以xxx用户去依次匹配 1、xxx用户是否是目标文件的属主,若是,则直接对应属主的权限,否则继续往下对应 2、xxx用户是否是目标的文件的属组内的成员,若是,则直接对应属组的权限,否则继续往下对应 3、xxx用户归属其他人 敲命令也是在启动进程,该进程的什么是谁? 1、如果没做过任何配置,默认用户身份是你当前登录的用户 2、可以对程序进行配置,指定其以什么用户身份启动
如何管理用户?组?
|
|