为什么 nautilus 和 ls -l 对相同文件的输出大小不同

为什么 nautilus 和 ls -l 对相同文件的输出大小不同

我使用命令将一个非常大的文件(~500 MB)拆分成许多部分split(每个拆分文件的行数相同,均为 131072,除最后一行外,大小约为 2.1 MB。每个拆分文件中的每一行仅包含两个整数)。问题出在拆分文件上。一些拆分文件在 nautilus 和ls -l命令输出中显示大小差异很大,如下图所示。在此处输入图片描述

这可能是什么原因?我假设ls -l输出肯定是正确的,因为文件应该具有相同的大小。

更新:

将拆分文件复制到其他驱动器时,它们显示所有文件的大小相当(实际上应该是~2.1 MB split -a 3 -l 100000 <filename> <file_prefix>)。打开来自其他驱动器(复制后)和当前驱动器的文件后,内容没有差异(只有两个驱动器中显示的大小不同)。只有在使用拆分大文件时才会出现此问题。此问题的发生split取决于文件拆分的方式(更改split命令中的行数,有时不会导致此问题)。从以上观察似乎问题不在于split命令,而在于nautilus计算大小的方式(可能取决于文件的存储方式或提供的节点,但我不知道nautilus如何计算大小)。我能够使用不同的split命令设置对250 MB的文件重现同样的问题。我会尝试为小文件重现该问题,如果可以我会更新。

它可能与架构有关。我使用的是 Ubuntu 16.04、Intel core-i5、RAM 16 GB、硬盘 ext4 格式。

相关内容