zoukankan      html  css  js  c++  java
  • 第十二章Linux文件系统与日志

    1inode 包含文件的元信息
    1)inode 内容:
    文件的字节数、拥有者的 UID、GID、文件的读写执行权限、时间戳等,但不包含文件
    名。文件名是储存在目录的目录项中。
    2)查看文件的 inode 内容,stat 命令

    2.Atime等详解

     

    3.目录文件的结构
    1)目录也是一种文件
    2)目录文件的结构:

     

    每个 inode 都有一个号码,操作系统用 inode 号码来识别不同的文件
     Linux 系统内部不使用文件名,而使用 inode 号码来识别文件。对于系统来说,文件名
    只是 inode 号码便于识别的别称。
    4.inode 的号码
    1)系统内部打开文件的步骤:
     1>系统找到这个文件名对应的 inode 号码
     2>通过 inode 号码,获取 inode 信息
     3>根据 inode 信息,找到文件数据所在的 block,读出数据
     inode 一般为 128 字节或 256 字节,每个 inode 中都记录着文件所在的 block 号,每条记录着 block 号的信息占用 4 字节。inode 中关于 block 号的记录一共包含有 12 个直接、1 个间接、1 个双间接和 1 个三间接。
     12 个直接连接,共占用 48 字节磁盘空间,包含着 12 个直接指向 block 号的信息,若此文件系统默认的 block 大小为 4KB,则仅仅可以指向 12*4=48KB 大小的文件内容,然而我们的文件若较大时,则需要使用到更多的 block,肯定要多于 12 个 block,进而有间接、双间接和三间接。
     间接指的是,inode 中所记录这 4 字节的内容,所指向一个 block,这个block中存放的不是真是的文件内容,而是真实文件所存放位置的block号信息,若每个block大小为 4KB,那么可以存放 1024 个 block 号信息,1 个间接可以存放的文件大小为:1024*4=4096KB
     双间接则可以存放更大的文件内容,即在间接的基础上再进行间接,若此时 block大小为默认的4KB,则1个双间接可以存放的文件内容大小为:1024*1024*4=4096MB
     三间接即在双间接的基础上在进行间接,若此时 block 大小为默认的 4KB,则 1 个三间接可以存放的文件内容大小1024*1024*1024*4=4096GB
    也就是说,在一个 block 大小默认为 4KB 的文件系统中,一个文件最大存储可以达到 48KB+4096KB+4096MB+4096GB,约为 4100GB。
    2)查看文件的 inode 号码
     ls -i 文件名
     stat 文件名

     

    当一个用户在 Linux 系统中试图访问一个文件时,系统会先根据文件名去查找它的inode,看该用户是否具有访问这个文件的权限。如果有,就指向相对应的数据 block;如果没有过,就返回 Permission denied(拒绝访问)
    (3)删除指定 inode 号所对应的文件
    1)格式:find ./ -inum inode 号 -exec rm -i {} ; 
    2)示例:当文件名中包含特殊符号时我们可以删除其 inode 号达到删除文件的目的

     

    5.查看文件系统的inodeblock的信息
    xfs:df -i 设备名(文件系统已挂载时查询,查询 inode 总数与已用数量)
    ext4:dumpe2fs -h 设备名(文件系统无需挂载)
    ext4:tune2fs -l 设备名(文件系统无需挂载)

     

    6.格式化时指定文件系统的inode个数与block大小
    1)方法:
    mkfs.ext4 -N inode 数 -b 块大小(单位字节) 设备名

    7.解决 inode 耗尽导致的磁盘故障
    1)方法:
    1>删除不使用的文件
    2>将文件备份,重新格式化此文件系统,指定较多的 inode 个数

    8.硬链接(hard link)
    1)方法:ln 源文件 目标文件
    2)特点:
    硬链接指向 inode,新生成的硬链接文件的 inode 号与源文件的 inode 号相同,不可针
    对目录进行硬链接,必须在同一文件系统内。删除一个文件名,不影响另外一个的访问。

     

    9.软链接(soft link)
    1)方法:ln -s 源文件或目录 目标文件或目录
    2)特点:
    软链接指向文件名,新生成的软链接文件的 inode 号与源文件不同,目录也可以生成软
    链接,软链接文件与源文件可以不在同一文件系统内,软链接文件的内容是源文件的路径,
    读取时系统会自动导向源文件,但当源文件移动或重命名时,软链接将报错

    10.硬链接和软连接的对比

     

    11.恢复误删除

    执行恢复操作
     1>常用选项:
     --inode 数值 指定从 inode 号为多少开始显示
     --restore-file 文件名 恢复误删除的某个文件
     --restore-all 恢复全部已删除的文件
     --after dtime 在某个时间点之后删除的文件
     --before dtime 在某个时间点之前删除的文件

  • 相关阅读:
    MS SQL Server 2000安装不成功的原因
    SourceForge.net上的一些精品项目(路径修正)
    开源轻量级嵌入式数据库引擎SQLite 3.1.0版大量新特性!
    解惑:灵感之源的博客到底在写些什么东西?
    [新年水贴]三道题变猪头(z)聪明的人们来试试
    SourceForge.net上的一些精品项目(2)
    关于antispy反间谍软件的研究
    [水贴]一个员工请假被拒绝的理由...
    [新年水贴]2004网络故事残忍度排名
    [新年水贴]老婆和老公斗智〖笑倒〗
  • 原文地址:https://www.cnblogs.com/ZCQ123456/p/11340410.html
Copyright © 2011-2022 走看看