四linux磁盘与文件系统管理(代码片段)

sunximei1 sunximei1     2023-01-09     727

关键词:

一、Linux文件系统

每种操作系统能够使用的文件系统并不相同,Linux的正统文件系统为Ext2(Linux second extended file system, ext2fs)。现在通常可以称呼一个可被挂载的数据为一个文件系统。

文件系统的运行机制与操作系统的文件数据有关,文件数据除了文件内容外,还有文件属性。文件系统通常会把这两部分放在不同的区块。

  • superblock:记录此filesystem的整体信息,包括inode,block的总量、使用量、剩余量,以及文件系统的格式与相关信息等
  • inode:记录文件的属性,一个文件占用一个inode,同时记录此文件的数据所在的block号码
  • block:实际记录文件的内容,若文件太大,会占用多个block(所以一个inode可对应多块block)
    注:文件名是放在block中的,此外,如果一个inode对应过多block(inode大小存不下这么多号码),则需要另外用block来记录这些对应block的号码

文件系统一开始就将inode和block规划好了,除非重新格式化,否则不再变动。但若文件系统过大,inode和block数量过多,不易于管理。所以,Ext2文件系统在格式化的时候基本上区分为多个区块组(block group),每个区块组都有独立的inode/block/superblock系统:

  • boot sector:开机扇区。可以安装开机管理程序,是一个非常重要的设计,这样就能将不同的开机管理程序安装到个别的文件系统的最前端,而不用覆盖整颗磁盘唯一的MBR(多系统)。
  • data block:数据区块。用来放置文件内容数据的地方。
  • inode table:inode表。inode除了记录文件的属性外,还有一些特色:(1)文件系统能够创建的文件数量与inode数量有关(2)系统读取文件时需先找到inode,若inode所记录的权限与使用者符合,才能够读取block内容
    inode结构示意图:
  • superblock:超级区块。记录整个filesystem相关信息。除了block和inode的总量、使用量剩余量外,还记录其大小(block 1, 2, 4K, inode 128, 256Bytes)以及filesystem的挂载事件、最近一次写入数据时间等文件系统相关信息。
    第一个block group内含有superblock,后续的不一定有,如果有,则是第一个的副本。
  • filesystem description:文件系统描述说明。描述每个block group的开始与结束的block号码,以及说明block group内部每个区段之间的block号码范围(可用dumpe2fs观察)
  • block bitmap:区块对照表。记录block区块是否被使用。例如新增时,要找到空的block;删除时将block对用的标志修改为“未使用”
  • inode bitmap:inode对照表。与上类似

二、文件系统的简单操作

2.1 磁盘与目录容量

  • df
# df [-ahikHTm] [目录或文件名]

  • du

2.2 实体链接(硬链接)与符号链接(软链接)

  • Hard Link:硬链接。在某个目录下新增一笔文件名到某inode号码的关联记录(可以理解为c++的智能指针)

    -i 查看inode相关信息,ln创建链接
    发现创建链接后,两个文件名链接到同一个inode,所有相关信息都一样(除了文件名)。链接的优点是安全,类比智能指针,任何一个指针都可以用来修改数据,但只有当最后一个指针离开作用域,内存才被释放。所以,当链接数大于1时,删除的只是文件名,inode和block仍然存在。
    使用限制:(1)不能跨filesystem(2)不能link目录
  • Symbolic Link:软链接(符号链接)。
    符号链接会创建一个独立的文件,存放源文件的文件名。相当于c++的引用(别名)。所以,当源文件删除后,symbolic 的文件则无法打开。
# ln -s 源文件 链接文件

默认为hard link, -s为symbolic link

可以看到,软链接有不同的inode和block(新文件)。
当我们新建一个目录时,其默认链接数为2(当前目录 . 和上层目录 …),
上层目录的链接数+1。

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

linux磁盘与文件管理(代码片段)

...]设备文件名-b列出保留为坏道的部分-h列出superblock的数据磁盘目录与容量:df,dudf[-ahiHTm][目录与文件名]-a列出所有的文件系统-k以kb的容量显示文件系统-m以mb的容量显示文件系统-h以人易于阅读的数据显示文件系统-H以1000... 查看详情

linux磁盘与文件系统管理(代码片段)

文章目录磁盘分区linux各个目录的作用磁盘与目录的容量软/硬连接磁盘的分区、格式化、检验与挂载lsblk(listblockdevice)列出系统上的所有磁盘列表blkid列出设备的UUID等参数磁盘分区:gdisk/fdisk几个注意点磁盘分区linux磁盘分区... 查看详情

linux的磁盘管理与文件系统

目录一、磁盘基础1.1磁盘结构1.1.1硬盘的物理结构1.1.2硬盘的数据结构1.1.3存储容量1.1.4磁盘接口类型1.2MRB与磁盘分区表示1.2.1主引导记录(MRB)1.2.2磁盘分区二、文件系统类型2.1XFS文件系统2.2SWAP,交换文件系统2.3Linux支持的其它文... 查看详情

实验四linux系统管理(代码片段)

...用户管理的角度初步理解系统安全管理的具体内容。掌握文件管理的基本内容和原理;掌握linux软件包管理方法。掌握RPM命令和yum的使用。熟悉图形模式下软件管理 查看详情

实验四linux系统管理(代码片段)

...用户管理的角度初步理解系统安全管理的具体内容。掌握文件管理的基本内容和原理;掌握linux软件包管理方法。掌握RPM命令和yum的使用。熟悉图形模式下软件管理 查看详情

linux磁盘,进程,软件安装(代码片段)

1、磁盘管理1.1、概述Linux磁盘管理好坏直接关系到整个系统的性能问题。Linux磁盘管理常用命令为df、du。df:列出文件系统的整体磁盘使用量du:检查磁盘空间使用量1.2、dfdf命令参数功能:检查文件系统的磁盘空间占用情况。可... 查看详情

四文件属性,用户管理,权限体系,正则式(代码片段)

...存放文件名。没创建一个文件就要有一个inode空间同一个磁盘分区中如果连个文件的inode相同,互为硬链接。inode大小和数量是在磁盘分区格式化的时候创建数量查看:df-iblock块(数据块)存放文件数据空间。(文件内容)每个非... 查看详情

linux0.11源码阅读笔记-文件管理(代码片段)

Linux0.11源码阅读笔记-文件管理文件系统生磁盘未安装文件系统的磁盘称之为生磁盘,生磁盘也可以作为文件读写,linux中一切皆文件。磁盘分区生磁盘可以被分区,分区中可以安装文件系统,常见的文件系统有fat32、ext2、ext4等... 查看详情

linux篇|磁盘存储和文件系统(代码片段)

磁盘存储和文件系统分区文件系统挂载设备管理虚拟内存RAID管理LVM管理我们从一个新硬盘安装到Linux系统,期间的配置,一直到正常使用的角度,来学习磁盘存储和文件系统,过程如下:选择分区类型(MBR或GPT)-->创建分区-->... 查看详情

详解linux磁盘管理与文件系统(代码片段)

磁盘基础硬盘结构物理结构盘片:硬盘有多个盘片,每盘片2面。磁头:每面一个磁头。数据结构扇区:磁盘上的每个磁道被等分为若干个弧段,这些弧段便是硬盘的扇区。硬盘的第一个扇区,叫做引导扇区。磁道:当磁盘旋转... 查看详情

linux磁盘管理(代码片段)

要进行磁盘管理,首先我们需要知道磁盘的基本使用状况,使用了多少,还剩多少等等。df命令可以帮助我们看到它。查看磁盘分区使用状况 df[选项][文件]显示指定磁盘文件的可用空间。如果没有文件名被指定,... 查看详情

linux实验报告——磁盘存储管理——2021.5.22(代码片段)

Linux实验报告(2)——磁盘存储管理一丶配置要求:二丶实验目的三丶实验要求四丶上一篇:Linux实验报告(1)——文件权限与管理五丶下一篇:Linux实验报告(3)——计划任务管理一丶配置要... 查看详情

linux磁盘管理详解--企业实战篇(代码片段)

...管理,要想彻底搞清楚文件系统的管理机制,对磁盘的了解是必不可少的。    一、磁盘的认识磁盘的分类如果从存储数据的介质上来区分,硬盘可分为机械硬盘(HardDiskDrive,HDD&# 查看详情

linux磁盘管理详解--企业实战篇(代码片段)

...管理,要想彻底搞清楚文件系统的管理机制,对磁盘的了解是必不可少的。    一、磁盘的认识磁盘的分类如果从存储数据的介质上来区分,硬盘可分为机械硬盘(HardDiskDrive,HDD&# 查看详情

鸟哥的linux私房菜哪些内容要看

...1章 Linux是什么第2章 Linux如何学习第3章 主机规划与磁盘分区第4章 安装CentOS5.x与多重引导小技巧第5章 首次登录与在线求助manpage第二部分 Linux文件、目录与磁盘格式第6章 Linux的文件权限与目录配置第7章 Linux文件与目... 查看详情

linux运维从入门到进阶(代码片段)

 Linux磁盘管理知识点磁盘和文件系统简介文件系统工具磁盘分区管理交换分区逻辑卷和阵列  磁盘和文件系统介绍正如上文中提到的,Linux中一切都是文件。这个重要的概念贯穿整个Linux的始末,磁盘也是如此。各种接... 查看详情

linux理解文件系统——软硬链接(代码片段)

...打开的文件操作系统如何管理?没有被打开的文件在磁盘上,所以磁盘上有大量的文件,这些文件要被静态管理起来,方便我们随时打开,而做这部分工作的我们称为文件系统。文章目录一、了解磁盘1.磁盘的... 查看详情

linux理解文件系统——软硬链接(代码片段)

...打开的文件操作系统如何管理?没有被打开的文件在磁盘上,所以磁盘上有大量的文件,这些文件要被静态管理起来,方便我们随时打开,而做这部分工作的我们称为文件系统。文章目录一、了解磁盘1.磁盘的... 查看详情