LINUX学生会

inode

2017-05-25  本文已影响13人  fengkaipeng

有时候系统提示磁盘提示满了,不能写入数据,然后查看时候发现空间还有很多,原因可能是因为磁盘的inode满了。inode是什么呢?
文件的数据分为元数据(metadata)和数据(data)两类。元数据用来储存文件的属性,就放在inode中,inode为‘index node’的缩写,意思为索引节点,用stat命令可以查看一个文件的inode:

[root ~]#stat anaconda-ks.cfg
  File: "anaconda-ks.cfg"
  Size: 1342        Blocks: 8          IO Block: 4096   普通文件
Device: 802h/2050d  Inode: 3014665     Links: 1
Access: (0600/-rw-------)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2017-05-16 19:12:09.498999452 +0800
Modify: 2017-05-16 19:12:10.254999454 +0800
Change: 2017-05-16 19:12:16.394999445 +0800

其中各个选项表达的意思

文件在存取的时候,是有三个步骤的:

所以,有时候磁盘还有空间,但是inode满了的情况下,系统也会提示磁盘空间已满,查看inode使用情况可以使用df -i选项:

[root app]#
[root app]#df -i
Filesystem      Inodes IUsed   IFree IUse% Mounted on
/dev/sda2      6406144 71647 6334497    2% /
tmpfs           125514     1  125513    1% /dev/shm
/dev/sda3      3203072    41 3203031    1% /app
/dev/sda1        64000    38   63962    1% /boot
/dev/sr0             0     0       0     - /mnt

硬链接和软链接

硬链接就是在目录文件中创建一个新的名字,节点号和原文件的节点号相同,所以也会指向同一个Inode table,所以最后找到的数据其实也就是相同的数据了。
软链接是一个文件,他包含了另一个文件的路径名,而不是指向的原文件的inode tables,所以他依赖原文件,当原文件路径发生变化时,软链接就会失效。

cp,mv和rm

cp的过程为分配一个空闲的inode号,在inode表中生成新条目
在目录中创建一个目录项,将名称与inode编号关联
拷贝数据生成新的文件。

rm是删除目录中的文件名和对应的节点号,删除节点表,不删除数据,而是将数据标记为空闲,有别的数据写入时才会覆盖。

mv分为两种情况

上一篇 下一篇

猜你喜欢

热点阅读