我试图了解当我将文件从一个目录移动到另一个目录时会发生什么,在同一文件系统内。
这是我编的例子。
我有两个目录和一个文件:
~/Documents/dir1
~/Documents/dir2
~/Documents/dir1/fileName.txt
这里我有关于该文件的一些详细信息fileName.txt
(ls -li
):
784088 -rw-r--r-- 1 myUser myUser 0 Oct 25 02:18 fileName.txt
然后,我通过发出以下命令将文件fileName.txt
从移动dir1
到:dir2
~/Documents/dir1$ mv fileName.txt ../dir2
这里我有发布后有关文件fileName.txt
( ) 的详细信息:ls -li
mv
784088 -rw-r--r-- 1 myUser myUser 0 Oct 25 02:22 fileName.txt
我所期望的是改变索引节点数,但我错了。因此,就我到目前为止所理解的,通过在同一文件系统内移动文件:
- 数据块没有被触及(这对我来说很好)
- inode(这对我来说很奇怪)
谁能告诉我文件属性发生了什么变化(除了修改时间)?
提前谢谢你,真的。
答案1
在同一个文件系统中,mv
-ing 实际上使用rename(2)
。因此 inode 将保持不变,只是将 inode 从一个目录条目中删除并附加到另一个目录条目。