我对 Linux 中命令“du”的输出感到困惑

Jas*_*son 20 linux

我创建了一个名为 file.o 的文件,我想检查 file.o 文件的大小。

du -h file.o ====> 4.0K

du -b file.o ====> 1120

根据du -b file.o,我知道 file.o 是 1120 字节大。但是为什么du -h file.o输出4.0K(意味着4*1024字节)?

小智 33

该文件较小,但它在磁盘上占用一整 个 4.0K 块(一个块中只能有一个文件)。如果它的字节大小是(例如)5678 Bytes,它将占用两个4.0K 块,即8.0K。

du -b 以字节为单位打印大小,覆盖默认块大小。


Mik*_*kel 10

要添加 eumiro 的答案,每个文件系统/分区的块大小可能不同。

您可以使用tune2fs -l /dev/<disk> | grep '^Block size'或查找文件系统的块大小stat -c "%o" <file on the disk>