• linux 解析文件系统原理


    inode and Block

    查询lnode df -i 定义能够创建多少的文件

    由于扇区(sector)太小只有512字节,所以读取时将多个扇区组合为“块(block)”,“块”是文件存取的最小单位,一般为4kb。数据全部存储于Block,而“元信息”就是目录,比如文件的所属用户,所属组,类型,权限,时间等,这种存储元信息的叫做“inode”,中文叫索引节点,也叫i节点。
    inode不包含文件名,文件名是存储在目录的目录项中,一个文件必须占用一个inode,最少一个

    • 查看文件的inode信息:stat 文件名

      • 文件的字节数
      • 文件拥有者的User ID
      • 文件的Group ID
      • 文件的读、写、执行权限
      • 文件的时间戳,共有三个:ctime指inode上一次变动的时间,mtime指文件内容上一次变动的时间,atime指文件上一次打开的时间。
      • 链接数,即有多少文件名指向这个inode
          * 文件数据block的位置

    • inode 号码
      目录文件的结构

      文件系统访问文件的步骤:

      1. 用户在目录中看到要访问的文件名
      2. 通过目录的数据找到对应的inode号
      3. 通过inode号,获取inode信息
      4. 根据inode信息,找到文件数据所在的block

      inode一般为128字节或者256字节,记录inode号占用字节一般为4字节
      12个直接连接,共占用48字节磁盘空间,包含12个直接指向block号信息
      间接是inode记录的4字节的block号中,存储的的真实文件的block号,若每个block大小为4字节,也就是4096字节,可以存放1024个block号信息,一个间接可以存放4096KB。
      双间接就是在间接的基础上再次间接,也就是102410244=4096MB
      三间接是继续扩充双间接102410241024*4=4096G

      也就是说一个block默认4字节,最大可以存储48kb+4096kb+4096mb+4096g

    • 查看inode号

      ls -i stat

      文件的存储对照:
      文件名-->目录项
      元信息-->inode
      数据-->block
      SuperBlock里面存储的文件系统所有的inode,block信息

    • 删除指定的inode号对应的文件

      格式:find ./ inum inode号 -exec rm -i {};

      查找3天内修改的文件,、并复制到/tmp下
      find /root/ -mtime -3 -a -type f -exec cp {} /tmp ;

    • 查看文件系统的inode与block信息

      df -i 设备名
      dumpe2fs -h 设备名
      tune2fs - 设备名

    • 格式化指定系统的inode个数与block大小

      格式:mkfs.ext4 -N inode 数 -b 块大小 设备名

    • 解决inode耗尽导致的磁盘损坏

      1. 删除不使用的文件
      2. 修改位置

    linux文件系统软硬连接原理

    • 硬链接

      方法:ln 源文件 目标文件
      特点:硬链接指向的文件inode号,新生成的硬链接文件inode号与源文件的inode号相同
      文件内容是一样的,且只要根据inode号修改的,都会改变,文件是同一个文件,只是多一个目录项,必须是同一个文件系统

    • 软连接

      方法:ln -s 源文件 目标文件
      新生成的软连接文件inode号与源文件不同,软连接文件里的是可以自动导向源文件的路径,可以跨设备建连接,并且目录也是可以建立软连接的,互相影响。

  • 相关阅读:
    Mysql主从同步延迟问题及解决方案
    elasticsearch 查询过程
    RPC(Remote Procedure Call):远程过程调用
    windows
    设计模式
    Linux Safe
    AS
    开机启动
    springboot打包部署
    【Linux】Linux 常用命令汇总
  • 原文地址:https://www.cnblogs.com/wml3030/p/15203391.html
Copyright © 2020-2023  润新知