linux – 以兆字节显示文件夹使用情况的正确方法
我正在使用du -bs来计算文件夹大小. du -bs /folder 结果是96342835字节…所以MB是(/ 1024/1024)91,87MB. 好的,但是当我使用的时候 du -hs /folder 结果不同. 99MB du -s taxikondrat.cz/ 100980 KBytes = 98,61MB 我尝试了不同的方法.在每一个我得到不同的结果.例如. find -type f -print0 | xargs -0 stat --print='%sn' | awk '{total+=$1} END {print total}' 我得到96059200字节,所以91,60MB ls -ARgo "$@" | awk '{q += $3} END {print q}' 96338739字节,87 MB.舍入后相同,但在字节上差别不大. 作为蛋糕上的樱桃是谷歌:) 那么,这是真的吗?为什么会出现这种差异,哪种方法最准确? 解决方法你正在比较苹果和橘子.请注意,ls -s将根据文件中实际数据的长度给出文件的大小. 默认情况下,du命令将提供基于大小的磁盘使用情况.由于磁盘空间是以块的形式分配的,并且文件的长度几乎不是块大小的整数倍,因此最终会得到一个仅部分填充数据但不能被其他文件使用的块. 总和du文件磁盘使用率几乎总是大于ls -s文件文件大小的总和,特别是当你有许多(小)文件和/或非常大的块大小时. 使用du -b开关不会计算块,但行为类似于ls -s:
|