美文网首页
Linux磁盘与文件系统管理基础

Linux磁盘与文件系统管理基础

作者: begonia_rich | 来源:发表于2018-08-01 01:40 被阅读15次

文件系统基础

文件系统:一个可被挂在的数据为一个文件系统(U盘,分区什么都可以)

文件系统的特性

  • super block:记录此文件系统的整体信息(包含inode,block总量,使用量,剩余量以及文件系统的格式与相关信息.inode与block映射表)
  • inode:记录文件的属性.一个文件占用一个inode,同时记录此文件所在的block号码
  • block:记录世纪文件的内容.若文件较大会占用多个block

索引式文件系统:inode记录所有的索引,效率高.
FAT格式:不存储inode,只能靠前一个block指向后一个block连接起来


Linux的Ext2文件系统(inode),块组

  • data block:有1KB,2KB,4KB可以设置,无法修改,一个文件至少占用一个block,一个block也只能放置一个文件,多的空间浪费掉了
  • inode table:每个文件都仅仅占用一个inode.inode仅有128bytes,所以会有直接,间接,双间接的方式来使用block作为号码记录拓展
  • superblock:block与index总量,大小,使用情况

与目录树的关系

ext2文件系统新建一个目录,至少分配一个inode与一块block给该目录
其中inode记录该目录的相关权限与属性并记录分配给改目录的block号码,block则记录该目录下的文件名与该文件名占用的inode号码数据(通过这个可以看出来inode并不记录文件名,文件名是目录记录的)


日志文件系统

最初的普通文件访问时直接是修改inode和block和super block内容,那么如果在这个时候遇到突发情况则会导致文件损坏,这样每次开机时都需要检查全文件系统所有文件的状态,硬盘全检查,这导致相当的费时间.

为了避免这种情况,提出了日志文件系统概念,在写入文件时先记录日志,然后写文件,最后再记录写成功日志.这样在每次开机时只检查文件日志就可以判断当前文件系统状态


挂载点的意义

将文件系统与目录树结合的操作,我们称之为挂载
挂载点一定是目录,该目录为进入该文件系统的入口.


虚拟文件系统VFS

Linux内核用于管理所有的文件系统的功能(统一的对外表现)

文件系统示意图

相关命令

df 列出文件系统的整体磁盘使用量

-h 易读的方式
-T 显示文件系统名称
-i 显示inode数量
一般使用较多:df -hT

du 评估文件系统磁盘使用量

-h 易读的方式
-s 列出总量而已,不列出各个目录的比例
一般使用du -h或du -s /home/dir(这个命令是看某个文件夹的大小)

ln 创建连接文件

-s 符号链接
硬链接(通过记录inode号码寻找源文件,当源文件名被删除时依然可以读取到,因为自己记录了inode信息).
符号链接(快捷方式,通过记录文件名寻找源文件,依赖源文件.当源文件名被删除就读取不了了).


磁盘的分区,格式化,检验与挂载

1分区
fdisk [-l] 设备名

分区操作1
分区操作2

2格式化
mkfs -t ext3 /dev/hdc6
指定设备名和文件系统类型

3磁盘检查(可选)
fsck -C
不要随便使用这个命令,会造成磁盘损坏

4磁盘挂载与卸载
一个目录只应该挂载一个文件系统,并且挂载的目录应该是个空目录
mount /dev/hdc6 /mnt/hdc6
umount 设备名/挂载点

设置开机挂载

直接修改/etc/fstab就可以开机挂载
这个档案的内容共有六个字段,这六个字段非常重要,这里列一下

第一列:磁盘文件名或label名
第二列:挂载点
第三列:磁盘分区的文件系统
第四列:文件系统参数(没有特别设置就是defaults)
第五列:能否被dump(0不备份,1每天备份)
第六列:是否以fsck(0不检测,1检测2也检测,在1后面检测以此类推)
修改完之后使用mount -a即可载入,不要直接重启,有可能配错了会导致开机失败..

特殊设备挂载

mount -o loop /dir/aaa.iso /mnt/iso
通过-o loop参数可以直接将光盘,DVD镜像文件挂载,常用.
通过这个参数可以通过dd命令生成一个大文件然后mkfs格式化之后直接挂载使用,产生很特别的用法

相关文章

网友评论

      本文标题:Linux磁盘与文件系统管理基础

      本文链接:https://www.haomeiwen.com/subject/zgakvftx.html