linux inode


原文链接: linux inode

理解Linux的FD与Inode
`find . -inum INODE_NUM -delete`,用INODE直接删除文件。

1、一个i-node只对应一个实际文件,一个文件也会只有一个i-node。最原始的i-node表大小是固定的,因此一个磁盘可以存放的文件数目是固定的。i-node主要用在目录中标识目录下的文件。

2、“.”和“..”是目录中的两个目录项,但cd ..究竟是由shell还是由文件系统来处理这个不大清楚,应该是文件系统吧,虽然后者也可以做。可以写一个程序验证一下
test .
打印出来看看是得到“.”还是真实路径。

  1. 可以在不关闭软件的情况下进行更新,不需要重启。因为系统通过inode号码,识别运行中的文件,不通过文件名。更新的时候,新版文件以同样的文件名,生成一个新的inode,不会影响到运行中的文件。等到下一次运行这个软件的时候,文件名就自动指向新版文件,旧版文件的inode则被回收。

特殊作用的第3点的意思是,新版文件的更新是更新在新的block上,然后下一次运行的时候旧inode被回收同时旧文件被删除么?那下一次运行的话是通过什么来让文件名指向新的inode呢?

阮兄的文章里已经写了,旧版的软件运行只需要inode,不需要文件名,文件名在更新的时候直接指向新的软件,这样旧版的软件在停止运行的时候所占用的block和inode直接被回收。

`