inode介绍

Linux空间还有很多剩余,但有些时候会提示空间已满,这是为啥?

df查看空间

在平常使用中,有时候会发生以下状况,输入: df,显示以下:php

文件系统 已用(I)%
/dev/xvda1 70%

可是你建立文件或者文件夹的时候会提示你,空间已满!node

输入:df -ibash

文件系统 已用(I)%
/dev/xvda1 100%

问题就在这里,-i表示:显示inode信息而非块使用量,那么inode又是什么呢?服务器

inode

inode中文意思为索引节点,这个索引的就是文件,咱们知道Linux下一切皆为文件,inode记录的就是文件在硬盘获取其它设备上对应的储存位置。
文件名与目录名是便于使用的别名。一个文件系统对象能够有多个别名(好比软、硬链接),但只能有一个inode,并用这个inode来索引文件系统对象的存储位置。
Linux中硬盘在格式化,后会将硬盘分为inode区、数据区、目录区。学习

  • inode区记录的就是每一个节点的节点类型、字节数、权限、建立时间等相关属性
  • 数据区固然是数据真正储存的地方了
  • 目录区记录的是目录下面文件的名称以及对应的inode

inode在生成分区的时候已经定义好了数量,若是inode使用完了,也就不能继续建立新的文件了spa

POSIX inode

POSIX标准强制规范了文件系统的行为。每一个“文件系统对象”必须具备:3d

  • 以字节为单位表示的文件大小。
  • 设备ID,标识容纳该文件的设备。
  • 文件全部者的User ID。
  • 文件的Group ID
  • 文件的模式(mode),肯定了文件的类型,以及它的全部者、它的group、其它用户访问此文件的权限。
  • 额外的系统与用户标志(flag),用来保护该文件。
  • 3个时间戳,记录了inode自身被修改(ctime, inode change time)、文件内容被修改(mtime, modification time)、最后一次访问(atime, access time)的时间。
  • 1个连接数,表示有多少个硬连接指向此inode。
  • 到文件系统存储位置的指针。一般是1K字节或者2K字节的存储容量为基本单位。

查询inode属性

执行stat file会输出相似以下信息:指针

文件:"a.php"
  大小:4096          块:8          IO 块:4096   目录
设备:ca01h/51713d    Inode:276961      硬连接:2
权限:(0755/drwxr-xr-x)  Uid:(    0/    root)   Gid:(    0/    root)
最近访问:2017-02-18 17:16:02.916390626 +0800
最近更改:2017-02-18 17:16:02.916390626 +0800
最近改动:2017-02-18 17:16:02.916390626 +0800
建立时间:-

使用inode删除文件

有时候服务器上由于各类缘由会生成一些名字很奇怪的文件或者目录,想删除掉的话,能够直接经过inode删除code

ll -i查看文件列表:对象

276893 -rw-r--r--  1 root    root       0 2月  18 17:30 a.php
268121 drwxr-xr-x  3 root    root    4096 2月  14 18:25 blog

执行

rm `find -inum 276893` //经过find查询inode为276893的文件名,而后删除

关注公众号,一块儿学习成长~

xysy.jpg

相关文章
相关标签/搜索