Linux文件属性

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

Inode 索引节点

作用:存放文件的属性信息以及作为文件的索引(指向文件的实体block)

Block存放的是文件的实际数据

iNode存放文件的属性信息以及指向文件实体的指针(block的位置),文件名不在iNode里一般在上级目录的block里

系统内部打开文件的步骤

访问文件的过程,通过文件名(上一级目录的block)——>inode ——>blocks

(1)系统找到这个文件名对应的inode号码

(2)通过inode号码,获取inode信息

(3)根据inode信息,找到文件数据所在的block,读出数据

查看inode时,存在三个时间显示,分别是Atime、Mtime、Ctime

Atime:访问时间 查看命令# ls -lu

Mtime:修改内容时间 查看命令# ls -l

Ctime:改变时间(修改文件名、权限等等) 查看命令# ls -lc

inode是磁盘的一块存储空间,CentOS6版本中默认大小256字节

inode的表现形式是一串数字,不同的文件对用的inode在文件系统里是唯一的

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

ext4文件系统下,一个文件至少要占用一个inode和一个block(在文件size比较大的情况),多个文件可以占用同一个inode(硬链接),相同文件;正常情况下,一个文件只能占用一个inode

可以再格式化的时候改变inode及block的大小

查看文件inode号码

# ls -i 文件名

# stat 文件名

删除指定的inode号对应的文件

# find ./ -inum inode号 -exec rm -i {} \;

查看文件系统的inode与block的信息

# df -i 设备名(在已挂载状态下查询,查询inode总数与已用数量)

# dumpe2fs -h 设备名 (无需挂载)

# tune2fs -l 设备名 (无需挂载)

查看inode版本

# cat /etc/redhat-release

# dumpe2fs 目标磁盘 | grep -i “inode size”

格式化时指定文件系统的inode个数与block大小

# mkfs.ext4 -N inode 数 -b 块大小(单位字节)设备名

解决inode耗尽导致的磁盘故障

(1)删除不使用文件

(2)将文件备份,重新格式化此文件系统,指定较多的inode个数

查看inode及block的使用量

# df -l

Block

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

一个文件可能占用多个block,每读取一个block就会消耗一次磁盘I/O;如果要提升磁盘I/O性能,就要尽可能一次性读取多的数据

block是用来存储实际数据的,每个block的大小一般只有1k,2k,4k,其中引导分区等为1k,其他普通法分区多为4k

如果一个文件很大,需要占用多个block,如果文件很小,知道占一个block,并且这个block的剩余空间浪费,即无法再存储其他数据

企业里文件都会比较大(一般会大于4k),block设置大一些会提高磁盘访问效率(一般选择4k)

一个100M(100000K)的磁盘分区,分别写入1K的文件或写入1M的文件,分别可以写多少个?

1K虽然小,但block一般默认4K,即使1K的数据也会占用4K大小,存储数据小号block和inode,inode默认256K,每个文件指导占用一个block的同时还会占用一个inode;1M的数据刚好被4整除,不会浪费空间,大约100个左右,inode充足。

如果向磁盘写入数据提示如下错误:No space left on device, 通过df -h查看磁盘空间,发现没满,请问可能原因是什么?企业场景什么情况下会导致这个问题发生?

最可能原因是inode被耗尽;企业工作中右键临时队列/var/spool/postfix/maildrop这里很容易被大量的恶小文件占满导致No space left on device的错误。

Linux系统——inode和block的更多相关文章

  1. [转帖]详解Linux系统inode原理--硬链接、软链接、innodb大小和划分等

    详解Linux系统inode原理--硬链接.软链接.innodb大小和划分等 原创 波波说运维 2019-07-17 00:03:00 https://www.toutiao.com/i6713116 ...

  2. 简单了解Linux的inode与block

    Linux常见文件系统类型:ext3(CentOS5),ext4(CentOS6),xfs(CentOS7) Windows常见文件系统类型:FAT32,NTFS (1).inode的内容 1)ino ...

  3. Linux文件系统inode、block解释权限(三)

    利用文件系统的inode和block来分析文件(目录)的权限问题. 为什么读取一个文件还要看该文件路径所有目录的权限? 为什么目录的w权限具有删除文件的能力,而文件w权限不行. inode:记录文件的 ...

  4. Linux的inode与block

    1,inode包含文件的元信息,具体来说有以下内容: 文件的字节数 文件拥有者的User ID 文件的Group ID 文件的读.写.执行权限 文件的时间戳,共有三个:ctime指inode上次文件属 ...

  5. Linux系统中磁盘block和windos中的簇一个意思

    block就是几个连续扇区组成一个block,每个分区可以设置block大小,好比一个txt只有2字节,但是这个分区的block为4K,那么其实这个txt需要4k来存储(所以大文件block设置大比较 ...

  6. Centos的Inode及Block相关知识

    Centos的Inode及Block相关知识 时间:2016-06-04 01:54来源:blog.51cto.com 作者:"tao" 博客 举报 点击:173次 本经验均在Ce ...

  7. windows系统c盘占满/linux系统磁盘block、inode占满处理

    windows系统 下载c盘清理.bat到服务器,双击bat文件将自动清理 linux系统 先远程ssh登录上服务器,登录教程:http://www.west263.com/faq/list.asp? ...

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

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

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

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

随机推荐

  1. "reason":"No handler for type [attachment] declared on field [file]" 最完全解决方案

    0.elasticsearch-mapper-attachments 2.3.4安装 mapper-attachments安装方法分两类,在线和离线: 在线安装 bin/elasticsearch-p ...

  2. c# word excel 二进制 存入数据库

    在Sql Server中存储.读写Word文件,需要将指定表字段添加为Image类型,示例表结构为:1 CREATE TABLE CONTRACTS ( 2 ID VARCHAR (50), 3 CO ...

  3. 剑指 offer set 26 不用加减乘除做加法

    总结 1. Leetcode 上有一道题, 是不用乘除做乘法, 那道题算是背包问题的变形 2. 不用加减乘除, 还可以用移位操作 3. 将数字转成二进制格式, 然后运用二进制亦或, 移位运算解决 3. ...

  4. C语言switch语句

    C语言虽然没有限制 if else 能够处理的分支数量,但当分支过多时,用 if else 处理会不太方便,而且容易出现 if else 配对出错的情况.例如,输入一个整数,输出该整数对应的星期几的英 ...

  5. Maven创建一个Web项目

    我们可以通过命令行或者直接使用Eclipse创建一个maven webapp项目:通过命令行创建在命令行中输入如下格式的命令将会创建一个新的maven webapp项目:mvn archetype:g ...

  6. 【BZOJ4244】邮戳拉力赛 DP

    [BZOJ4244]邮戳拉力赛 Description IOI铁路是由N+2个站点构成的直线线路.这条线路的车站从某一端的车站开始顺次标号为0...N+1. 这条路线上行驶的电车分为上行电车和下行电车 ...

  7. go练习1-翻转字符串

    //翻转字符串 func T1_1() { str := "你好helloworld!" fmt.Println("翻转前", str) var ret str ...

  8. 离线微博工具Open Live Writer(Windows Live Writer)安装过程及server error 500错误解决

    必备条件: .net framework 3.5框架(大概是要求3.5或以上,不确定,好像没有人遇到和这个相关的问题) 2017年7月27日最新官方版0.6.2英文离线客户端网盘下载(官网的安装包无法 ...

  9. Python全栈day10(运算符)

    一,运算符 + - * . ** % // 二,in 和not in 一个字符串包含多个字符可以通过in判断字符是否属于改字符串 >>> name = "zhangsan& ...

  10. 【Python数据挖掘】回归模型与应用

    线性回归 ( Linear Regression ) 线性回归中,只包括一个自变量和一个因变量,且二者的关系可用一条直线近似表示,这种回归称为一元线性回归. 如果回归分析中包括两个或两个以上的自变量, ...