linux中的inode简单介绍

最近在linux上创建目录的时候出现mkdir:Cannot create directory***: No space left on device, 但是df的时候发现空间还有几百G(有同事是中文的机器出现Mkdir: 无法创建目录***,设备上没有空间)。不能继续创建目录或者touch文件的原因是Inode满了。

Inode的数量是有限制的,每个文件对应一个Inode, 那么如何查看inode的最大数量呢,


[work@*** ~]$ df -i

Filesystem            Inodes   IUsed   IFree IUse% Mounted on

/dev/cciss/c0d0p2    1154176  172807  981369   15% /

/dev/cciss/c0d0p3    88309760   51951 88257809    1% /home

可以看到Inode的总量,已经使用的Inode数量,和剩余数量。
如果watch -n 1 “df -i”一下, 然后去创建一个文件, 会发现已用的加一,未用的减一
简单了解下Inode在文件系统中的地位:
linux中的inode简单介绍
Linux会为每一个文件分配一个唯一的inode节点。在linux中,文件的文件名、文件属性、文件内容是分别存储的:文件名存放在目录项(即 dentry)中,文件属性存放在inode中,文件内容存放在block中。Linux在查找文件时,首先先读取dentry,dentry中存储的文 件名和inode编号的一个映射表, 根据这个表找到inode编号,再根据inode找到磁盘中的文件。
可以用ls -i查看文件对应的inode编号, 也可以直接stat一个文件, 会有很全的信息。

我的blog原创转过来的,欢迎多多交流。


上一篇:EBS 打印机——IX Library 介绍


下一篇:JVM19_G1垃圾收集器概述、特点、常用参数、Region详解、记忆集与写屏障、年轻代GC、并发标记过程、Mixed GC、Full GC(一)