我有同一个文件夹的三个副本,但是它们的大小不同。为什么?
我有一个文件夹“ Documents”,已从台式机硬盘驱动器上的加密lvm复制到外部驱动器上的加密luks分区。然后,我已将该文件夹从外部驱动器复制到便携式计算机硬盘上的加密的lvm中。
所以我有同一个文件夹的三个副本:
我曾经diff
在台式机和外置硬盘之间使用过->没什么区别。
我已经diff
在笔记本电脑和外部驱动器之间使用过->没什么区别。
但是在这三种情况下,我的文件夹大小不同。
我用过
du -bs --apparent-size Documents
测量尺寸。结果如下:
因此,我们注意到大小之间存在细微差异。差异不大,但仍然存在。我想知道为什么会这样。你有解释吗?
您可能已经注意到,不同文件夹之间的区别如下:
Desktop: 1735750760
- 8192
External drive: 1735742568
+ 4096
Laptop: 1735746664
以我的经验,这种4K块的差异通常是由于目录大小的更改而引起的。如果比较目录本身的大小(在ext文件系统上,通常为4K的倍数),则可能会发现差异。
(例如,目录在复制操作期间进行重组时有时会变小,从而清除已删除的条目)
要查找目录大小不同的目录,您必须将目录相互比较。以下脚本可以帮助您:
#!/bin/bash
DIR1="${1%/}/"
DIR2="${2%/}/"
diff \
<(find $DIR1 -type d -printf "%k %p\n" | sed -e "s|$DIR1||" | sort -k2) \
<(find $DIR2 -type d -printf "%k %p\n" | sed -e "s|$DIR2||" | sort -k2)
将代码复制到新文件(例如dircomp.sh)并使其可执行chmod +x dircomp.sh
。然后像这样称呼它./dircomp.sh /home/lemenhir/ /media/lemenhir/ExternalDrive/
。
现在,输出应仅列出具有不同大小的目录,并且可能如下所示:
< 4 Documents/Appartement/Bail
> 8 Documents/Appartement/Bail
其中以开头的行<
列出了位于作为第一个参数给出的目录中的目录(例如/ home / lemenhir /),以开头的行>
列出了位于作为第二个参数给出的目录中的目录(例如/ media / lemenhir / ExternalDrive /) 。
如果出现单行,则该目录在相反的目录中不存在。
希望这可以帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句