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

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

    2.Atime等详解

    英文 别称 中文翻译 何时修改 查看命令
    Access Atime 访问时间 读取、写入 ls-lu
    Modify Mtime 修改时间  写入、修改 ls-l
    Change/Create Ctime 改变时间/创建时间

    修改文件名、写入、

    修改、该权限、做链接

    ls-lc

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

    文件名1 inode号码1
    文件名2 inode号码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.查看文件系统的inode与block的信息
    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.硬链接和软连接的对比:

      硬链接 软链接
    指向 inode 文件名
    inode 号是否相同 相同 不同
    是否可以针对目录 不可针对目录 可以针对目录
    可否跨文件系统 不可夸文件系统 可跨文件系统
    删除、重命名、移动源文件 不受影响 失效
    创建命令 In 源文件 目标文件 In -s 源文件或目录 目标文件或目录

    11.恢复误删除

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

  • 相关阅读:
    机器学习---14
    机器学习---13
    机器学习--10
    机器学习--9
    机器学习--8
    机器学习--7
    机械学习--6
    大数据应用技术课程实践--选题与实践方案
    15.手写数字识别-小数据集
    14.深度学习-卷积
  • 原文地址:https://www.cnblogs.com/wanghs8/p/11346788.html
Copyright © 2011-2022 走看看