1.ls   -lhi

文字解释:

第一列:inode索引节点编号(人的身份证,全国唯一)

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

第二列:文件类型及权限(共10个字符,第一个字符为类型,后9个字符为文件权限)

第三列:硬链接个数(详细参看In命令的讲解)

第四列:文件或目录所属的用户(属主)

linux里面文件和程序的存在必须要有用户和组满足相应的存在需求。

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

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

第七八九列:文件或目录的修改时间;默认月日时分

第十列:实际的文件或目录名

文件名不算文件的属性

不同Centos版本inode大小不同:

dumpe2fs  /dev/sda1|grep  -i  "Inode size"  #<==/boot分区默认128

查看文件系统inode总量以及剩余量:df  -i

查看磁盘的使用量:df  -h

磁盘空间是否满了,是由两项参数决定的,第一个是inode是否满了,第二个block是否满了

磁盘满的一个特征(no  space  on  device  left)

有关inode的小结:

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

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

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

4.inode是磁盘上的一块存储空间,C6非启动分区inode默认大小256字节,C5是128字节

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

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

7.ext3/ext4文件系统下,一个文件被创建后至少要占用一个inode和一个block;正常情况一个文件占用且只能占用一个inode(人和身份证)

8.block是用来存储实际数据的,每个block的大小一般有1k,2k,4k几种。其中引导分区等为1k,其它普通分区多为4k(C6)

9.如果一个文件很大(高清的大片4G),可能占多个block,如果文件很小(0.01K),至少占一个block,并且这个block的剩余空间就浪费了,即无法再存储其它数据了

10.inode大小和总量查看

1)dumpe2fs  /dev/sda1|egrep  -i  "block  size | Inode  size"

2)dumpe2fs  /dev/sda1|egrep  -i  "block  count | Inode  count"

默认block  count一般会大于Inode  count的数量

11.查看inode的总量和使用量:df  -i

12.查看文件的inode信息方法:ls  -li 或 stat  /etc/hosts

13.如何生成及指定inode大小

格式化命令:mkfs.ext4  -b  2048  -l  256  /dev/sdb

有关Block的知识小结

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

2.一个文件可能占用多个block。但是每读取一个blcok就会消耗一次磁盘I/O

3.如果要提升磁盘IO性能,那么就要尽可能一次性读取数据尽量的多

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

5.Block并非越大越好。block太大对于存放小文件就会浪费磁盘空间,例如:1000K的文件,block为4K,占用250个block,如果block默认为1K,则需要占用1000个block。访问效率谁更高?消耗IO分别为250次和1000次

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

7.block太大,例如4K,文件都是0.1K的,大量浪费磁盘空间,但是访问性能高

8.block太小,例如1K,文件都是1000K,消耗大量磁盘IO

9.blcok大小设置也是格式化分区时候确定的,命令mkfs.ext4  -b  2048  -I  256  /dev/sdb

10.企业里文件都会比较大(一般会大于4K),block设置大一些会提升磁盘访问效率

11.ext3/ext4文件系统(Centos5和6),一般都设置为4K

总的小结:

1.磁盘被分区格式化文件系统后,会分为inode和block两部分内容

2.inode存放文件的属性以及指向文件实体的指针,文件名不在inode里,一般在上级目录的block里

3.访问文件,原理通过文件名-->inode-->block

linux文件属性描述(inode,block)的更多相关文章

  1. Linux 深入理解inode/block/superblock

    基础命令学习目录首页 原文链接:https://blog.csdn.net/Ohmyberry/article/details/80427492 档案系统特性 传统的磁盘与档案系统之应用中,一个分割槽 ...

  2. Linux文件属性描述

    mtime -- modify time 修改时间 硬链接硬链接(hard link, 也称链接)就是一个文件的一个或多个文件名.再说白点,所谓链接无非是把文件名和计算机文件系统使用的节点号链接起来. ...

  3. Linux文件属性,类型,ls -lhi解释行列

    Linux文件属性(描述信息) -i inode节点号 -h 人类可读 ls -lhi 1703938 drwxr-xr-x 2 rsync rsync 4.0K Jun 7 07:24 gamese ...

  4. linux 文件系统(inode和block)

    linux文件系统(inode block superblock)   先说一下格式化:每种操作系统所设置的文件属性/权限并不相同,为了存放这些文件所需的数据,因此就需要将分区格式化,以成为操作系统能 ...

  5. # linux文件系统(inode block superblock)

    先说一下格式化:每种操作系统所设置的文件属性/权限并不相同,为了存放这些文件所需的数据,因此就需要将分区格式化,以成为操作系统能够利用的文件系统格式.linux的文件格式为Ext2/Ext3,现在好像 ...

  6. Linux文件系统(inode、block……)

    内容源于<鸟哥的Linux私房菜> 认识 EXT2 文件系统 文件系统的特殊观察与操作 文件系统 superblock,inode,block superblock,inode,block ...

  7. Linux 文件的详解[分类/扩展名/inode/block]

    关于Linux文件的介绍 Linux里文件扩展名和文件类型没有关系,Linux系统中一切皆文件 关于Linux文件分类 纯文本文件(可以cat的)     二进制文件(Linux的可执行文件等,如/b ...

  8. Linux文件系统与inode、Block笔记

    Linux文件系统与inode.Block笔记 在Linux下一切都是文件,无论是设备还是接口,亦或是网卡等均被抽象成了文件,并且有相关的内核代码进行调度.然而,在一切都是文件的前提下,最需要进行探讨 ...

  9. linux文件描述符、软硬连接、输入输出重定向

    引用链接:https://blog.csdn.net/qq769651718/article/details/79459346 文件描述符的作用: 文件描述符是linux操作系统中特有的概念.其相当于 ...

随机推荐

  1. JS高级学习历程-14

    昨天内容回顾 1. 面向对象的私有成员.静态成员 私有成员:在构造函数里边定义局部变量,就是私有成员. 静态成员:在js里边,函数就是对象,可以通过给函数对象声明成员方式声明静态成员. 2. 原型继承 ...

  2. Charles使用小结

    charles,抓包神器,记录几个测试过程中常用的功能 连接同一局域网的开发机     域名跳转MapRemoteSetting     抓取Https接口 1.下载3.10以上破解版,按如下步骤安装 ...

  3. js 检查字符串中是否包含中文(正则)

    function CheckChinese(val){ var reg = new RegExp("[\\u4E00-\\u9FFF]+","g"); if(r ...

  4. python进阶01 面向对象、类、实例、属性封装、实例方法

    python进阶01 面向对象.类.实例.属性封装.实例方法 一.面向对象 1.什么是对象 #一切皆对象,可以简单地将“对象”理解为“某个东西” #“对象”之所以称之为对象,是因为它具有属于它自己的“ ...

  5. (转载)常用Git命令清单

    我每天使用Git,但是很多命令记不住 一般来说,日常使用只要记住下图6个命令,就可以了.但是熟练使用,恐怕要记住60~100个命令 下面是我整理的常用Git命令清单. Workspace:工作区 In ...

  6. HDU-3499:Flight(SPFA+dp)

    Recently, Shua Shua had a big quarrel with his GF. He is so upset that he decides to take a trip to ...

  7. PHP是.NET上的一门开发语言

    .NET Core 已经实现了PHP JIT,现在PHP是.NET上的一门开发语言   12月23日,由开源中国联合中国电子技术标准化研究院主办的2017源创会年终盛典在北京万豪酒店顺利举行.在本次大 ...

  8. spring data jpa自定义baseRepository

    在一些特殊时候,我们会设计到对Spring Data JPA中的方法进行重新实现,这将会面临一个问题,如果我们新创建一个实现类.如果这个实现类实现了JpaRepository接口,这样我们不得不实现该 ...

  9. SpringBoot热部署的两种方式

    SpringBoot热部署方式一共有两种,分别使用两种不同的依赖 SpringBoot 1.3后才拥有SpringBoot devtools热部署 ①:spring-boot-devtools   ② ...

  10. 洛谷 P1821 [USACO07FEB]银牛派对Silver Cow Party

    银牛派对 正向建图+反向建图, 两边跑dijkstra,然后将结果相加即可. 反向建图以及双向建图的做法是学习图论的必备思想. #include <iostream> #include & ...