如何理解 mv 重命名改变了文件的 ctime?
- 0次
- 1975-02-24 15:26:49
- idczone
执行命令`mv a b`后,文件的 ctime 变了。只有文件的 i 节点数据被改变了,ctime 才会改变,i 节点存储文件的属组属主、权限、链接数,mv 重命名并没有改变这些数据啊,为啥对文件执行 mv 后,文件的 ctime 变了?
inode 是没变(如果不跨文件系统)。ctime 是文件系统驱动在 rename 调用里自己改的。
您是指 rename 这个系统调用会改变文件的 ctime 吗?
按照这个 stackoverflow 回答( https://unix.stackexchange.com/questions/211123/why-does-renaming-a-file-with-mv-command-alter-an-inodes-change-date-time )
以前没有 rename 调用时,mv=link+unlink,这个过程会修改 inode 引用计数 2 次。而且有些备份软件依赖这点来检测文件移动。
谢谢,明白了,真是有趣的知识点