zoukankan      html  css  js  c++  java
  • Linux-文件属性-inode

    第一列>:inode 索引节点编号

    系统读取文件时,首先通过文件名找到inode,然后能读取到文件内容

    第二列>:文件类型及权限 共11个字符

    1)第1个字符,标识类型,目录,文件,link,套接字等等

    2)后面9个字符,是文件权限

    3)最后一个 . 点. 做acl , selinux 相关

    第三列>:硬连接数量

    多入口进入,可以起到备份作用

    第四列>:拥有者

    第五列>:组

    第六列>:文件或目录大小,目录最小为一个块大小 4K

    第七列>:修改日期

    第八列>:文件名称


    深入讲解:

    inode: 索引节点(index node)

    硬盘要存储数据(房子住人),首先需要分区(打隔断),然后格式化创建文件系统(装修),最后存储数据(住人)

    inode,中文索引节点,(index node).在每个linux存储设备或存储设备的分区,被格式化为ext4 文件系统后,一般都有两个部分

    1.)inode N个,

    inode是用来存储数据属性信息的。inodo属性信息不仅仅包括文件大小,属主,用户组,文件权限,修改时间,类型。还包含指向文件实体的指针功能,但是inode里面不包含文件名!!!文件名在哪里??? 文件名在上层目录的block里

     

    inode除了记录文件属性信息之外,还会为每个文件进行信息索引,所以就有了上图第一列inode值。

     

    centos 6 中 inode默认256字节,inode的大小是在格式化之前确定。

    使用dumpe2fs 查看 inode size

     

    查看inode 使用量,剩余量

     

    inode 总结:

    1)磁盘被分区并格式化为ext4文件系统后会生成一定数量的inode和block

    2)inode被称为索引节点,作用是存放文件属性信息以及作为文件的索引指向文件实体,注意inode不包括文件名

    3)ext3/ext4文件系统的block存放的是文件的实际内容

    4)inode是磁盘上的一块存储空间,centos6 非启动分区的每个inode默认大小是256字节,centos5的是128字节

    5)inode 的表现形式是一串字符串,不同的文件对应唯一的inode,在文件系统里是唯一的

    6)inode节点相同的文件,互为硬链接,可以认为是一个文件的不同入口

    7)ext3/4 文件系统下,一个文件被创建至少占用一个inode和block

    8)ext3/4 一个文件正常情况下只能有一个inode

    9)block的大小一般有1k,2k,4k.其中引导分区等为1k,其他普通分区为4k

    10)如果一个文件较大,可能占用多个block,如果一个文件很小,至少占一个block,剩余浪费,不能存储其他数据

    11)inode 大小和总量查看  1->df -i  或者2-> dumpe2fs /dev/sda3 | egrep -i 'block count|inode count'

    12)查看inode的总和和使用量 命令:df -i

    13)查看文件inode 信息和方法  ls -li  filename 或 stast filename

    2.)block N 个 ,block 用来存储实际数据 例如:视频,照片等

    1)磁盘读取数据是按block为单位读取的

    2)每一个文件可能占用多个block,但是每读一个block就会消耗一次I/O

    3)要提升磁盘I/O性能,那么就要尽可那个一次性读取数据量尽量多

    4)一个block只能存放一个文件的内容,无论内容有多小.如果block默认是4K大小,那么存放一个1k的文件,剩余的3k就不能存放别的文件.只能浪费.

    5)block并非越大越好.block太大对于存放小文件就会浪费磁盘空间.例如:1000k的文件,block大小为4k,占用250block. 如果block默认为1k,则需要占用1000block.

    访问效率: IO分别为 250 和 1000 次. 因此4K效率高

    6)根据业务需求,确认默认的block大小,如果是大文件(大于16k)一般设置block大一点,小文件(小于1k)一般设置block小一点

    7)block太小,例如block 4k,文件都是0.1k的,大量浪费磁盘空间

    8)block太大,例如block 1k,文件都是1000k的,消耗磁盘I/O

    9)block的设置也是格式化分区的时候, mkfs.ext4 -b 2048 -I 256 /dev/sdb

    10)一般企业里文件都会比较大(一般大于4k),block设置大一些

    11)ext3/4文件系统(centos5 和 centos 6),一般都设置4k


    文件权限:


    文件硬连接:

    在linux系统中,多个文件指向同一个索引节点(inode)是正常且允许的.

    1).硬连接

    ln不带参数情况下.创建硬连接

    1. 具有相同inode节点号的多个文件是互为硬连接文件
    2. 删除硬连接文件或者删除源文件任意之一,文件实体并未被删除
    3. 只有删除了源文件以及所有对应的硬连接文件,文件实体才会被删除.
    4. 当所有的硬连接文件及源文件被删除后,在存放新的数据会占用这个文件的空间.或者磁盘fsck检查的时候,删除的数据也会被系统回收
    5. 硬连接文件就是文件的另一个入口(相当于超市的前门,和后门)
    6. 可以给文件设置硬连接文件,来防止重要文件被误删
    7. 通过 ln 源文件 硬连接文件 , 即可以完成创建硬连接
    8. 硬连接文件是普通文件,因此rm命令可以删除
    9. 对于静态文件(没有进程正在调用的文件)来讲,当对应硬连接数为0(i_link),文件就被删除.i_link的查看方法(ls -l 结果的第三列)

    2).软连接(符号连接)

    ln -s 创建软连接


    对于目录的链接小结:

    1. 对于目录,不可以创建硬链接,但是可以创建软链接
    2. 目录的硬链接不能跨越文件系统
    3. 每个目录下面都有一个硬连接"."号,和对应上级目录的硬链接".."
    4. 在父目录里创建一个子目录,父目录的链接数增加1(子目录里都有..来指向父目录),但是在父目录里创建文件,父目录的链接数不会增加.

     


    文件的时间戳

    modify 修改 -mtime 修改文件内容的时候

    change 改变时间 -ctime 文件的属性改变时ctime会改变

    access 访问时间 -atime 访问文件的时候会改变

    ls -ls  --time-style=long-iso  --time-style 参数 格式化时间

     

    -------------------- 阑心而慧智,心静而致远. --------------------
  • 相关阅读:
    课下作业--微软拼音输入法评价
    课堂练习--找水王
    第十四周总结
    第一阶段意见评论
    第十三周总结
    梦断代码阅读笔记03
    第十二周总结
    用户模板与用户场景
    2020年寒假假期总结0205
    2020年寒假假期总结0204
  • 原文地址:https://www.cnblogs.com/mirrorlake/p/7366590.html
Copyright © 2011-2022 走看看