linux学习:文件属性(一)—— inode

linux里面一切皆文件。

Linux文件属性:

索引节点,文件类型,权限属性,链接数,所归属的用户和用户组,最近修改时间等内容。

命令:ls  -lhi

  第一列:inode 索引节点编号(类似身份证,全国唯一),系统读取文件时,首先通过文件名找到inode,然后才能读取到文件内容。

  第二列:文件的类型及权限,第一个字符为类型,后面9个字符为文件权限。加上 . 就是11个字符。

                   第一个字符:文件类型

                   后九个字符:文件的权限

                   .号               :跟selinux相关的标识,没什么用。

  第三列:硬链接的数量,硬链接表示的是同一个文件的不同的访问路口。

  第四列:文件或目录的拥有者(属主);linux里面文件和程序的存在必须要有用户和组满足相应的存在需求。

  第五列:文件或目录所属的组(属组);

  第六列:文件或目录的大小;

  第七,八,九列:文件的修改时间,对应的find 参数 –mtime;访问时间:atime   访问的时间; 改变时间:ctime 属性的改变时间;

  第十列:文件的名称;严格来讲,文件名不算文件的属性。

inode简介:

         硬盘存储数据:分区,格式化创建文件系统,然后存数据。

         inode——索引节点(inode index)。每个存储设备的分区,被格式化后,创建文件系统,一般包括两部分:① inode  ② block

         block 是用来存储实际数据的。

         inode 是用来存储数据属性的。inode属性信息包括:文件大小属主属组文件权限文件类型修改时间,还包含指向文件实体的指针的功能(inode节点——block的对应关系),但是,inode不包含文件名称

   打个比方,比如一本书,存储设备和分区就相当于这本书,block相当于书中的内容,而node就相当于这本书前面的目录,一本书有很多内容,一个知识点可能有很多页,如果想查找某部分或者是某个知识点的内容,我们一般先查书的目录,通过目录能更快的找到我们想要看的知识点的内容。

查看inode命令:

  1. 使用stat 接文件名,查看文件属性。

  2. ls –i查看文件的inode信息。

inode大小:

         CentOS5 :128字节

         CentOS6 :256字节

         inode 的大小在文件系统被格式化之后就无法更改了,格式化前可以指定inode大小,但是一般工作没有这个需求。

         不同的CentOS版本inode大小不同。

  

  dumpe2fs:查看分区的信息。

  df –i: 查看磁盘的inode使用量;

  df –h: 查看磁盘的空间使用量。

  磁盘空间是否满了,是由两项参数决定的,一个是inode是否满了,一个是block是否满了,其中一个满了,就不能再存储文件了。

小结:

  1. 磁盘被分区并格式化建立好文件系统后,会生成一定数量的inode 和block。

  2. inode 是索引节点,作用是存放文件的属性信息以及作为文件的索引(指向文件实体)。

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

  4. inode 是磁盘上的一块存储空间,CentOS6 非启动分区默认是256字节,C5是128字节,几乎不用去修改。

  5. inode 表现形式是一串数字, 不同的文件,对应的inode号在文件系统里面是唯一的。

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

  7. ext3 / ext4文件系统,一个文件被创建后至少要占用一个inode 和一个 block,

  8. ext3 / ext4文件系统,正常情况下一个文件只有一个inode号。

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

  10.如果文件很大(4GB),可能占用很多个block,如果文件很小(0.01KB),至少占用一个block,并且这个block的剩余空间都浪费了。

  11.inode大小和总量查看。

    a)  dumpe2fs /dev/sda3|egrep –i “block size|inode size”

    b)  dumpe2fs /dev/sda3|egrep –i ”block count|inode count”

    c)  查看inode的总量和使用量命令df –i

    d)  格式化的时候指定inode的大小:mkfs.ext4 –b 2048 –i 256 /dev/sdb(基本上用不上)

文件系统图示

原文地址:https://www.cnblogs.com/pyghost/p/10072321.html