我知道rsync
使用--remove-source-files
(我使用它而不是mv
这样我可以合并目录层次结构)创建新的 inode:
stat 2021_07_30_20_18_17.pdf~
rsync --remove-source-files 2021_07_30_20_18_17.pdf~ 2021_07_30_20_18_17.pdf~.moved
stat 2021_07_30_20_18_17.pdf~.moved
Device: 805h/2053d Inode: 4850411 Links: 1
Device: 805h/2053d Inode: 4849693 Links: 1
由于它正在分配一个新的 inode,这是否意味着它为目标文件分配了新空间?还是--remove-source-files
只是让新的 inode 指向原始文件的内存位置?
背景
我问的原因是因为我的驱动器非常慢,因为目录层次结构很大,大小文件混合在一起),我猜这会使碎片变得更糟。由于大多数 Linux 文件系统不会出现碎片,因此没有像 Windows 上那样简单的碎片整理工具。
我知道我可以 rsync 到一个新驱动器以减少碎片,但是同一个驱动器呢?从内存分配的角度来看,文件移动的工作方式是否相同?