Unix 为什么在ext4文件系统中,一个1字节大小的文件会占用硬盘中的8个块?
我遇到了一个场景,我创建了一个简单的纯文本文件,其中只有一个ASCII字母:a。我用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是分配的块数。为什么
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字节,是否正确 简短回答可能重复:性能原因。搜索字符设备和块设备之间的差异