第7章-Linux磁盘与文件系统管理

2021.1.29 P210 ~ P220

一个可被挂载的数据可称为一个文件系统,而非一个分区。

文件的权限属性放到inode中,而实际数据放在区块中。

FAT类文件系统没有inode结构。

文件系统中的目录:inode记录目录权限属性、分配到的区块号码;目录区块记录该目录下的文件名与占用的inode数据

新建文件:找到未使用的inode号码、根据bitmap找到未使用的区块号码、更新inode中的指向区块号、更新inode的bitmap与block的bitmap、更新超级区块。

日志式文件系统的流程:在日志记录区块中记录、实际写入数据、更新元数据、在日志记录区块中完成该文件的记录。

正常关机时,关机命令会调用sync将内存数据写回磁盘内。

2021.1.30 P220 ~ P231

ext文件系统格式化较慢。

xfs文件系统:分为数据区、文件系统活动登录区(记录文件系统的变化)、实时运行区(建立文件时,现在这里分配区块,分配结束后再写入数据区

文件系统相关命令:df:列出文件系统整体磁盘使用量;du:查看文件系统的磁盘使用量
查看文件系统的基本属性
可以看到很多设备。注意:df读取的是范围主要是超级区块内的信息。

注意:有时运行du等命令,发现/proc下经常报错:【No such file or directory】,是因为程序在内存中,进程结束后释放空间,因此找不到是正常的。

软链接与硬链接:

硬链接:多个目录下的文件名对应到同一个inode号码。因此将任意一个文件名删除,inode与block不会改变。不支持链接目录原因:连接的数据需要与目录下的所有数据链接,增大开销。

软链接(符号链接【ln -s】):建立独立的文件,数据读取指向它链接的那个文件。(理解为快捷方式即可)。解决硬链接不能链接目录的问题。修改符号链接文件时,修改的其实是原始文件。链接数量:即有多少个入口可以进入此目录。

2021.1.31 P231 ~ P243

UUID:全局唯一标识符,可作为挂载或是使用这个设备或文件系统。

fdisk、gdisk操作磁盘分区不能加上设备号,因为磁盘分区是针对整个磁盘设备,而非单个分区vda1等。

fdisk针对MBR分区,gdisk针对GPT分区。

partprobe更新Linux内核的分区表信息。

格式化的含义:创建文件系统

可以用mkfs命令将虚拟设备磁盘分区转化为不同的文件系统。例如/dev/vda4分区为xfs文件系统,/dev/vda5是ext4文件系统。这些都需要调用【mkfs -t <fsType> <directory>】实现。

文件系统检验的目的是修复错乱的文件系统,修复时,该文件系统不能被挂载。(正常情况下修复,可能对系统造成伤害)

将文件系统挂载(调用【mount】命令)到目录下的时候,需要注意:挂载点目录应该是空目录,否则原有文件会暂时消失。

流程:在磁盘上格式化分区,生成文件系统;检查该文件系统,此时还未被挂载;将该分区(文件系统)挂载到目录上,然后就可以从该目录访问挂载好的分区(文件系统)。

2021.2.1 P243 ~ P252

CentOS找出待挂载文件系统类型的方法:读取文件系统的超级区块,并搭配自己的驱动程序去测试挂载。

可以为mount命令加上–bind选项,将两个目录做软链接,从而增加进入文件系统的入口(当然文件系统不能重复挂载到两个不同的目录)。

卸载文件系统时,必须将工作目录离开该文件系统的挂载点,调用umount命令,后接挂载点目录。

文件的major与minor数值代表Linux下的设备。

/etc/fstab,即filesystem table配置文件,用于开机自动挂载文件系统,这里存放着所有mount命令挂载时读到的选项和参数,包含:

  1. 设备文件名/UUID/Label,设备文件名诸如/dev/vda2(不是挂载点目录名!!),三选一,建议使用UUID
  2. 挂载点(目录)
  3. 磁盘分区的文件系统类型(如xfs、ext4等)
  4. 文件系统参数(异步或同步、自动挂载或非自动挂载、可写或只读、可执行或不可执行、允许或不允许用户挂载(一般不允许一般用户挂载,太危险了)等等)
  5. 能否被备份命令作用
  6. 是否用fsck检验扇区

使用【mount -a】命令,系统依据/etc/fstab将未挂载的文件系统挂载到目录下。

针对镜像文件,不需刻录成光盘,即可挂载:通过loop设备解决挂载问题。【mount -o loop】

【dd】命令可以用于建立空文件,选项有if(输入文件)、of(输出文件)、bs(每个block大小)、count(block数量)等。

2021.2.2 P252 ~ P260

/etc:存放系统配置文件;/usr:存放共享的系统资源;/lib:存放共享库、内核模块;/mnt:临时文件系统的安装点;/var:存放程序运行时的变量

mkswap:创建内存交换分区,格式化一个文件为swap类型分区;然后使用swapon命令将上述分区启动。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Walden_RUC

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值