Linux文件系统inode的作用
创始人
2024-03-30 20:25:05
0

目录

前言

简介

inode与block

1、查看文件的inode信息

2、查看分区中的inode节点数


前言

        前面学习了磁盘管理中的磁盘分区,以及逻辑卷,交换分区的创建,这篇文章将介绍一下我们在分区以及格式化时候用到的ext4文件系统,本盘文章的学习内容包括了解索引(index)和块(block)的作用。


简介

  • 类型:索引(index)文件系统
  • 系统限制:

        Ext3:文件系统最大16TB
        Ext4:文件系统最大16TB
        XFS:文件系统最大100TB.

  • 名词:inode,block,superblock
  • inode:

        记录文件的属性(文件的元数据metadata)。

                元数据:文件的属性,大小,权限,属主,属组,链接数,块数量,块编号。

        一个文件占用一个inode,同时记录此文件数据所在的block  number。

        inode大小为128bytes。

  • block:

        存储文件的实际数据。

        实际存储文件的内容,若文件较大,会占用多个block。

        block大小为默认4K。

  • superblock:

        1、block与inode的总量。

        2、未使用与已使用的inode/block数量。

 如图,蓝色区域每一个数字代表一个块(block),灰色区域是索引inode相当于编号,一个索引对应了多个块,拿文件来说,每个文件都有一个inode这个文件中的数据内容就是占用的块。


inode与block

1、查看文件的inode信息

命令ll  -i  文件名                //-i是查看inode的信息

[root@localhost ~]# ll -i /mnt/disk3
总用量 13
12 -rw-r--r--. 1 root root     0 10月 24 13:58 file1
11 drwx------. 2 root root 12288 10月 19 13:56 lost+found

往常ll  文件名命令查看文件信息的时候是没有前面12那个数字的,这个数字是inode编号,可以看到file1文件在disk3目录下的inode号为12。

2、查看分区中的inode节点数

命令:df   -i

 sdb3这个分区是挂载到disk3文件夹上的,所以可看到sdb3这个分区总共有51200个inode,已经用了12个,还有51188个可用,那么我在disk3目录下再创建一个文件来看看sdb3分区的inode节点数。


 可以看到sdb3分区的已用inode节点数变为了13,可用的变为51187少了一个,可以看到一个文件会占用一个inode节点,接下来我将占满sdb3的inode节点。


 如图所看到的的第一行命令创建多个文件,查看sdb3的inode节点数,看到sdb3的inode节点数已经占满了,但是sdb3的还有空间,这个时候再创建文件提示创建失败。

结论:inode决定了文件系统中文件的数量。


 可以看到虽然无法创建文件,但是可以在任一一个文件中写入内容,接下来我将填满sdb3分区的空间。


//查看sdb3分区的内存
[root@localhost ~]# df -hT |grep sdb3
/dev/sdb3               ext4      190M  3.0M  173M    2% /mnt/disk3
//将sdb3空间填满
[root@localhost ~]# dd if=/dev/zero  of=/mnt/disk3/file1   bs=1M  count=174
记录了174+0 的读入
记录了174+0 的写出
182452224字节(182 MB)已复制,0.240873 秒,757 MB/秒
[root@localhost ~]# df -hT |grep sdb3
/dev/sdb3               ext4      190M  177M     0  100% /mnt/disk3
[root@localhost ~]# touch /mnt/disk3/file0000
touch: 无法创建"/mnt/disk3/file0000": 设备上没有空间

可以看到用dd if=/dev/zero  of=/mnt/disk3/file1   bs=1M  count=174命令将sdb3的空间填满,也就是把sdb3分区的块全部占用,这时候再创建文件依然是失败的。

得出结论,磁盘空间的限制根据inode和block两方面。


创作不易,动动小手给个点赞加关注吧,有什么意见评论区告诉我,一起学习。

相关内容

热门资讯

不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
安卓文字转语音tts没有声音 安卓文字转语音TTS没有声音的问题在应用中比较常见,通常是由于一些设置或者代码逻辑问题导致的。本文将...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
APK正在安装,但应用程序列表... 这个问题可能是由于以下原因导致的:应用程序安装的APK文件可能存在问题。设备上已经存在同名的应用程序...
报告实验.pdfbase.tt... 这个错误通常是由于找不到字体文件或者文件路径不正确导致的。以下是一些解决方法:确认字体文件是否存在:...