gpt4 book ai didi

linux - 重新创建文件会重用以前的 inode 吗?

转载 作者:太空宇宙 更新时间:2023-11-04 04:54:25 25 4
gpt4 key购买 nike

我有一个文件a.txt .

如果我删除该文件并使用 a.txt 创建一个空文件在同一位置,这会影响旧文件的 inode 详细信息吗?或者会创建一个新的 inode 吗?

最佳答案

这取决于您的文件系统...

在 ext4 上,我看到以下内容:(inode 重用)

$ touch a.txt
$ stat -c%i a.txt
1316644

$ rm a.txt

$ touch a.txt
$ stat -c%i a.txt
1316644

在 ZFS 上我看到以下内容:(分配了新的 inode)

$ touch a.txt
$ stat -c%i a.txt
15585

$ rm a.txt

$ touch a.txt
$ stat -c%i a.txt
15586
<小时/>

stat -c%i ${FILENAME} 将显示给定文件的 inode。

请注意, inode 通常不会创建/销毁,而是永久存在,用于记录文件信息或标记为“未使用”。

<小时/>

另请注意,在事件系统上,您无法保证同一 inode 被重用,因为在删除和创建之间它可能被另一个文件使用。即:删除/创建操作不是 atomic .

在 ext4 上:

$ touch a.txt
$ stat -c%i a.txt
1316644

$ rm a.txt

$ touch b.txt
$ stat -c%i b.txt
1316644

$ touch a.txt
$ stat -c%i a.txt
1316645

关于linux - 重新创建文件会重用以前的 inode 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51019714/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com