Linux还有很多剩余空间,但是有时候会提示空间已满,为什么?日常使用中,df查看空间,有时会出现如下情况,输入:df,显示如下:使用的是文件系统(I)%/dev/xvda170%但是创建文件或文件夹时,会提示空间已满Full!输入:df-ifilesystemused(I)%/dev/xvda1100%问题就在这里,-i的意思是:显示inode信息而不是block使用情况,那么inode是什么?inodeinode中文意思是索引节点。这个索引是一个文件。我们知道Linux下一切皆文件。inode记录是文件在硬盘上对应的存储位置,以获取其他设备。为方便起见,文件和目录名称是别名。一个文件系统对象可以有多个别名(如软链接和硬链接),但只能有一个inode,并用这个inode索引文件系统对象的存储位置。在Linux中格式化硬盘后,硬盘会分为inode区、数据区和目录区。inode区记录了每个节点的节点类型、字节数、权限、创建时间等相关属性。数据区当然是实际存放数据的地方。目录区记录目录下的文件名和生成的分区中对应的inodeinode。当inode用完时,已经定义了这个数字。如果inode已用完,则无法创建新文件。POSIXinodePOSIX标准强制执行文件系统的行为。每个“文件系统对象”必须具有:文件的大小(以字节为单位)。设备ID,用于标识托管文件的设备。文件所有者的用户ID。文件的组ID文件的模式决定了文件的类型、文件的所有者、文件的组以及其他用户访问文件的权限。额外的系统和用户标志(flags)来保护文件。3个时间戳,记录了inode本身被修改的时间(ctime,inodechangetime),文件内容被修改的时间(mtime,修改时间),最后一次访问时间(atime,访问时间)。1linkcount,表示有多少硬链接指向这个inode。指向文件系统存储位置的指针。通常以1K字节或2K字节为基本存储容量。查询inode属性,执行stat文件,输出类似如下信息:file:"a.php"size:4096blocks:8IOblocks:4096directorydevice:ca01h/51713dinode:276961hardlink:2permissions:(0755/drwxr-xr-x)Uid:(0/root)Gid:(0/root)LastAccessed:2017-02-1817:16:02.916390626+0800LastModified:2017-02-1817:16:02.916390626+0800LastModified:2017-02-1817:16:02.916390626+0800Creationtime:-使用inode删除文件有时由于各种原因,服务器上会生成一些名字奇怪的文件或目录。如果要删除,可以通过inodell-i查看文件列表直接删除:276893-rw-r--r--1rootroot0February1817:30a.php268121drwxr-xr-x3rootroot4096February1418:25blogExecuterm`find-inum276893`//使用find查询到inode为276893的文件名,然后删掉关注公众号,一起学习成长~
