Unix 为什么在ext4文件系统中,一个1字节大小的文件会占用硬盘中的8个块?

Unix 为什么在ext4文件系统中,一个1字节大小的文件会占用硬盘中的8个块?,unix,filesystems,stat,ext4,Unix,Filesystems,Stat,Ext4,我遇到了一个场景,我创建了一个简单的纯文本文件,其中只有一个ASCII字母:a。我用stat检查了文件大小,下面是我得到的: $ stat file File: 'file' Size: 1 Blocks: 8 IO Block: 4096 regular file Device: 801h/2049d Inode: 433312 Links: 1 ...many details... Blocks:8报告的stat是分配的块数。为什么

我遇到了一个场景,我创建了一个简单的纯文本文件,其中只有一个ASCII字母:a。我用
stat
检查了文件大小,下面是我得到的:

$ stat file
File: 'file'
  Size: 1           Blocks: 8          IO Block: 4096   regular file
Device: 801h/2049d  Inode: 433312      Links: 1
...many details...
Blocks:8
报告的
stat
是分配的块数。为什么1字节大小的文件占用8个块,而每个块的大小为4096字节

假设我正确读取了
stat
的结果,这意味着文件系统共享块中的其他不同文件,因为一个1字节的文件占用4096*8的空间太多了,不是吗?基本上,8个块是否仅由1字节文件占用

编辑:

这个问题澄清了许多概念:

然后每个块以512字节分配,1字节文件消耗512*8=4096的物理存储。这是否意味着只有一个块实际用于存储1字节,并且由于每个块都是512字节,因此该块不会被完全使用,其余7个块将为空,但仍保留用于1字节文件

stat
报告的I/O块是4096,那么4096是从磁盘读写的首选字节块?这表示I/O操作一次读取8个大小为512字节的块,对吗


硬盘驱动器的物理块始终至少为512字节,是否正确

简短回答可能重复:性能原因。搜索字符设备和块设备之间的差异