因为du 是按照,占用的block数来计算的。而ls 是按照写入的字节大小等来计算。所以du 出来的大小,是block size的整数倍。
如下,du 的结果是 6592k,笔者机器的block size 为 4k。因此实际占用6592/4=1648个block
root@ubuntu01:/tmp# du -s /etc/
6592 /etc/
root@ubuntu01:/tmp# ls -lh /etc/
total 884K
本文解析了du和ls命令在Linux系统中计算文件大小的不同方式。du按占用的block数计算,结果为blocksize的整数倍;而ls则依据实际写入的字节大小。以6592k的du结果为例,对应1648个block,揭示了文件系统存储的实际机制。
因为du 是按照,占用的block数来计算的。而ls 是按照写入的字节大小等来计算。所以du 出来的大小,是block size的整数倍。
如下,du 的结果是 6592k,笔者机器的block size 为 4k。因此实际占用6592/4=1648个block
root@ubuntu01:/tmp# du -s /etc/
6592 /etc/
root@ubuntu01:/tmp# ls -lh /etc/
total 884K
314
1842

被折叠的 条评论
为什么被折叠?