微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Linux磁盘与文件系统管理上

目录

Linux磁盘与文件系统管理

Linux文件系统初识

(一)磁盘与分区

(二)文件系统特性

(三)ext2文件系统

(四)文件存取与日志功能

(五)目录树及挂载点

文件系统简单操作

(一)磁盘与目录容量

(二)硬链接、符号链接


Linux磁盘与文件系统管理

Linux文件系统初识

(一)磁盘与分区

磁盘主要组成结构:

①圆形碟片:主要记录数据部分;②机械手臂、磁头:可擦写碟片数据③主轴马达:协助磁头读写数据

存储数据的介质上来区分,关于硬盘可分为机械硬盘(Hard disk Drive, HDD)和固态硬盘(Solid State disk, SSD),机械硬盘采用磁性碟片来存储数据,而固态硬盘通过闪存颗粒来存储数据。

磁盘分区:

扇区为linux文件系统最小物理存储单位,主要有512B和4KB格式,扇区组成柱面;

磁盘分区两种格式:MBR分区表、GPT分区表

分区磁盘文件名:物理磁盘文件名模拟为/dev/sd[a-p] [1-128]格式,对于虚拟机,磁盘通常为/dev/vd[a-p] [1-128]格式。

(二)文件系统特性

linux正统文件系统为linux second Extended file system,ext2 fs。windows不支持文件系统。

文件系统通常会将文件权限、属性文件数据两部分数据存放在不同区块,权限与属性放置在inode中,而实际数据被放置在数据区块。

分区:①boot sector;②super block ;③inode ;④block。

文件数据存取两种形式:

索引式文件:类似于碎片目录化整理,通过碎片整理,将同一文件所属区块集合起来,放置在inode中,便于读取。(ext2格式)

FAT格式:读取文件,通过前后关系接连方式,引出全部内容。(U盘)

(三)ext2文件系统

ext2文件系统格式化:

启动扇区 boot sector安装启动引导程序,Block Group区块:

Superblock超级区块:记录整个文件系统相关信息:数据区块与总量、未使用与已使用inode与数据区块数量、数据区块与inode大小、文件系统挂载时间及最近一次写入数据时间等。Superblock含有一个有效检验位,有效位为1表示未被挂载,为0表示文件系统已挂载。一般存在于第一区块群组内,后续一般为第一区块超级区块备份。

df 命令主要读取的数据几乎都针对的是整个文件系统,df 命令主要是从各文件系统的 Super block 中读取数据。

关于ext2文件系统区块限制:

除非重格式化,区块的大小与数量在格式化完就不能进行修改;每个区块内最多仅放置一个文件,区块容纳不下情况,会占用多看区块弥补,可剩不可少。

inode表用于记录文件属性以及文件实际数据位置:读写属性、拥有者与用户组、文件大小、建立与状态改变时间等,记录区块号码的区域定义为12个直接、1个间接、1个双间接、1个三间接记录区。限制文件总额 = 直接+间接+双间接+三间接。

ext2支持三种区块格式:1K、2K、4K,由此磁盘分容量对文件大小有差异;

计算格式:format = 格式/4B ,sum = (format间接 +format x format双间接 +format x format x format三间接)x格式+12x格式

Block大小 1KB 2KB 4KB
单个最大文件限制 16GB 256GB 2TB
最大文件系统容量 2TB 8TB 16TB

通过 dumpe2fs 指令可查询 ext 系列超级区块信息

(四)文件存取与日志功能

ext2文件系统新增文件

确定用户文件的目录是否具有相应权限,根据inode对照表找到没有使用的inode号码、并将文件权限与属性写入,格局区块对照表找到没有使用的区块号码,并将实际数据写入区块,更新inode表指向实际数据区块,更新区块对照表及超级区块内容

一般将inode对照表与数据区块称之为数据存放区域,至于超级区块内容、区块对照表等成为元数据。

日志式文件系统

当系统需写入文件时,会先在日志记录区块记录某个文件准备写入的信息,实际写入时,开始写入文件的权限与数据,开始更新Metadata数据,并在日志记录区块完成改文件相关记录。

(五)目录树及挂载点

文件系统,在建立目录时,分配一个inode 与至少一块区块给目录。(ls -li查询根目录占用inode)

挂载为文件系统与目录树结合的操作,挂载点mount point一定是目录,进入文件系统的入口。

文件操作,需经过目录的inode 与区块,找到指定信息调整位置。具体由根目录开始,通过挂载信息找到挂载点的inode号码指定区块,确认权限,读取区块内容。(同一个inode只会对应到一个文件内容

文件系统简单操作

(一)磁盘与目录容量

磁盘的整体数据放置在超级区块中,而每个文件的容量记载在inode中。

命令行模式下:

df: df [ -ahikHTm ] [ 目录或文件名 ]

列出文件系统的整体磁盘使用量,数据为整个文件系统,读取范围主要是超级区块的信息;

du: du [ -ahskm ] [ 文件或目录名称 ]

查看文件系统的磁盘使用量,目录所占的磁盘空间,du认会将所有文件的大小列出。

(二)硬链接、符号链接

linux包含两种链接文件方式:①快捷方式功能链接目标文件或目录;②通过文件系统inode链接目标文件(硬链接--对于单一文件操作),硬链接使得能在某目录下新增一条文件链接到某个inode号码的关联记录中,并非真正意义产生文件

一般来说,使用硬链接设置链接文件时,磁盘的空间与inode数目不会发生改变,仅多一条关联数据。目录填满的情况下,关联会产生新区块记录文件关联性,会导致磁盘变化。

符号链接就是建立一个独立文件,让数据指向它链接目标文件文件名,源文件删除,符号链接也会失效。

链接文件命令:#ln [ -sf ] [ 源文件 ] [ 目标文件 ] ;使用ln命令,不加任何参数即为硬链接,-s为符号链接。-f目标文件存在,就主动将目标文件直接删除后建立。

参考:《鸟哥的LINUX私房菜》基础学习篇第四版

原文地址:https://www.jb51.cc/wenti/3284597.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐