Linux文件系统 -- inode和block

目录

      • 重要参数
      • 目录项
      • fsck
      • 软连接,硬链接

重要参数

dumpe2fs /dev/sda1|more查看ext4文件元数据(描述文件系统的数据),xfs_info查看xfs文件系统

  • superblock:超级块,记录此file system的整体信息,包括inode/block的总量、剩余量,以及文件系统的格式
  • inode:index node记录文件的属性,如权限、所有者、大小等,不包含文件名和实际数据。文件系统中的每个文件和目录都有唯一的inode号码,同时记录此文件的数据所在的block号。通过inode,系统能够找到和管理文件的实际数据块
  • block:实际记录文件的内容,若文件太大,会占用多个block。block区一个块占4096字节

目录项

目录项包含文件名、文件的inode号和文件类型

# 第一列如67就是inode号
[root@localhost chen]# ll -i
总用量 0
      67 drwxr-xr-x. 2 root root 6 11月 25 21:55 haha
33574976 drwxr-xr-x. 2 root root 6 11月 25 21:55 tt
16777280 drwxr-xr-x. 2 root root 6 11月 25 21:55 xixi

执行命令cd /chen/tt,首先通过目录项根据文件名找到inode编号,然后去inode区去寻找chen目录对应的inode编号所在的块,读取信息,编号所在的块会有一个指针pointer指向block区里面的块,根据这个pointer读取相应的信息,递归找到tt这个文件

当使用rm删除文件时,文件系统中的目录项会被删除,但inode映射表和block映射表里的队友标志会被标记为可用,表示这些块可以被新文件或其他数据使用,但实际inode区和block区没有被释放,所以只要数据块没有被新数据覆盖,被删除的数据是可以通过修复软件恢复的,文件系统会有日志

有时候一个目录下不能创建文件,但是查看磁盘发现占用比并没有满,有可能是因为inode空间耗光了,删除目录下的其他文件就可以创建新文件了

fsck

fsck命令,file system check用于诊断修复文件系统,可以修复xfs文件或ext4文件,xfs文件修复也有专门的命令xfs_repair

当出现非正常关机、突然断点、设备读写失误、文件系统的超级块信息被破坏时可以修复

软连接,硬链接

软链接是一个指向目标文件或目录的路径的文本字符串,会产生新的inode和block、新的目录项,block里存放的是链接的文件名

硬链接会跟原文件有一样的inode,但会有不同的目录项

# 创建软连接
ln -s test.txt test_soft.txt
# 创建硬链接
ln test.txt test_hard.txt

Linux文件系统 -- inode和block_第1张图片

软链接,删除原文件,链接文件不可用;硬链接,删除原文件,链接文件可以继续使用,但内容为空

Linux文件系统 -- inode和block_第2张图片

你可能感兴趣的:(Linux,linux)