Linux VS Windows,相同的文件和目录,但大小不同

Linux VS Windows,相同的文件和目录,但大小不同

每个操作系统版本:windows7Red Hat Enterprise Linux Server release 6.5 (Santiago)

我将文件和目录(大约 50GB)从 Windows 复制到 Linux。

这花了几个小时,现在我需要通过比较大小来确保没有丢失的文件。

但似乎每个操作系统计算文件夹大小的方式都不同。

例如,有一个文件夹包含一个大小为 5770 字节的文件。

并且该文件夹大小在Windows下为5770字节,但在Linux下为9866字节。

我怎样才能准确地比较它们?

*编辑

ls -FaGl /mydir/*/结果 :

/mydir/111/:
total 240
drwxrwxr-x  5 webmaster  4096 Oct 20 11:39 ./
drwxr-xr-x 12 webmaster  4096 Oct 20 15:53 ../ /
-rw-rw-r--  1 webmaster  6662 Oct 20 11:39 mydata1.dat
-rw-rw-r--  1 webmaster  6662 Oct 20 11:39 mydata2.dat
...


/mydir/222/:
total 24
drwxrwxr-x  5 webmaster  4096 Oct 20 11:39 ./
drwxr-xr-x 12 webmaster  4096 Oct 20 15:53 ../ /
-rw-rw-r--  1 webmaster  6662 Oct 20 11:39 mydata3.dat
-rw-rw-r--  1 webmaster  6662 Oct 20 11:39 mydata4.dat
...

不明白这是什么total意思......有些子目录有“总计”,而有些则没有。

答案1

计算差异:

9866 - 5770 = 4096 or 4KB

在 Linux 中,每个文件夹实际上是一个文件。这个文件(最小)为 4096 字节。它以文本格式包含该文件夹中文件的信息。您可以在 Vim 或 Nano 中打开它并查看它是什么。如果文件夹有许多文件和子文件夹,则它大于 4KB。

在 vim 中打开文件夹文件(不带结尾的 /):

vim /mydir 

要比较大小,您需要从等式中排除文件夹。

如果您在上传所有数据时遇到问题,您可以在 Virtualbox 中创建具有相同文件系统的本地 Centos VM,使用相同的 FTP 客户端上传到该 VM,然后将 Centos 上的结果与 Redhat 上的结果进行比较。

答案2

如果您使用系统调用来复制文件,则不会丢失任何文件。

您无法做到,因为您已经发现使用尺寸来确保没有遗漏任何内容。

使用基于文件内容进行比较的软件。例如 WinMerge(虽然这仅适用于 Windows)

相关内容