为什么复制的文件夹比原始文件夹包含更多文件?

为什么复制的文件夹比原始文件夹包含更多文件?

我正在备份我的 Skyrim 文件夹,因为出于某些不可告人的原因,我不得不重新安装 Windows 7。我还备份了其他视频游戏,它们都从 Windows 分区复制到了 Linux 分区。但显然 Skyrim 比原始文件夹多 1.3 GB(重复:更多),文件多出约 2000 个。但我检查了 Skyrim 根目录中的子文件夹和文件,文件数量和大小与原始文件相同,我检查了隐藏文件,有一个是根目录中的 .directory,仅此而已。那么 Linux 到底是什么?

Linux 到底是什么鬼?

我指出 kwin 在复制时崩溃了,可能是这个原因吗?我不知道,请有人帮我解释一下这个谜团。

答案1

Dolphin 之类du的工具会检测硬链接,并且只对每个 inode 进行一次计数。您可以拥有 1000 个文件,每个文件大小为 1 MiB,但如果它们只是一个文件,并且以 999 个额外名称进行硬链接,那么这些工具会说总共有一个文件,大小为 1 MiB。

NTFS(源文件系统是 NTFS,不是吗?)不使用类似 Unix 的 inode,但它以自己的方式支持硬链接,Linux 驱动程序理解这一点。我预计 Dolphin 或 Linuxdu在计算文件数量和总大小时会以类似的方式运行。

您的问题是因为原始目录包含一个或多个文件,每个文件出现在两个或更多路径下。我猜您使用的复制工具并不关心硬链接;它只是天真地读取文件并逐个写入其他地方。因此,副本中的每个文件都独立于任何其他文件,那里没有两个文件彼此硬链接;所以 Dolphin 会计算更多文件。

复制丢失了有关哪些多条路径应指向同一文件的信息。它可能丢失了更多信息:所有权和权限等元数据,因为 Linux 文件系统使用的方案与 Windows 不同。很难说将来将游戏恢复到 Windows 后这是否以及如何影响游戏。

备查:

相关内容