linux – 以兆字节显示文件夹使用情况的正确方法

linux – 以兆字节显示文件夹使用情况的正确方法,第1张

概述我正在使用du -bs来计算文件夹大小. du -bs /folder 结果是96342835字节…所以MB是(/ 1024/1024)91,87MB. 好的,但是当我使用的时候 du -hs /folder 结果不同. 99MB 要么 du -s taxikondrat.cz/ 100980 KBytes = 98,61MB 我尝试了不同的方法.在每一个我得到不同的结果.例如. find -ty 我正在使用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='%s\n' | awk '{total+=} END {print total}'

我得到96059200字节,所以91,60MB

ls -ARgo "$@" | awk '{q += } END {print q}'

96338739字节,87 MB.舍入后相同,但在字节上差别不大.

作为蛋糕上的樱桃是谷歌:)

那么,这是真的吗?为什么会出现这种差异,哪种方法最准确?

解决方法 你正在比较苹果和橘子.

请注意,ls -s将根据文件中实际数据的长度给出文件的大小.

默认情况下,du命令将提供基于大小的磁盘使用情况.由于磁盘空间是以块的形式分配的,并且文件的长度几乎不是块大小的整数倍,因此最终会得到一个仅部分填充数据但不能被其他文件使用的块.
换句话说,如果文件系统的块大小为512字节,则1字节长度的文件将占用磁盘上的512字节,与511字节的文件相同.一个513字节的文件将占用2个块和1024个字节的磁盘空间.

总和du文件磁盘使用率几乎总是大于ls -s文件文件大小的总和,特别是当你有许多(小)文件和/或非常大的块大小时.

使用du -b开关不会计算块,但行为类似于ls -s:

-b equivalent to --apparent-size --block-size=1
--apparent-size
print apparent sizes,rather than disk usage; although the apparent size is usually smaller,it may be larger due to holes in (‘sparse’) files,internal frag‐
mentation,indirect blocks,and the like
-h,--human-readable
print sizes in human readable format (e.g.,1K 234M 2G)

du -sh会将块总数转换为人类可读格式,
du -bh将以人类可读的格式打印表观尺寸的总和.

在我的Maildir中,许多小文件有很大不同:

$du -bs cur/84088436    cur/$du -s cur/91800   cur/$du -sh cur/90M cur/$du -bh cur/81M cur/

编辑关于转换为人类可读输出和兆字节,请不要忽视SI十进制前缀与二进制倍数的人类可读的整体“争议”,​​1000的幂与1024的幂.

有关GNU实用程序(如ls和du)如何显示它们的信息,请参阅本页的背景信息:https://www.gnu.org/software/coreutils/manual/html_node/Block-size.html.

du -h输出中的大写字母M代表1,048,576字节.

总结

以上是内存溢出为你收集整理的linux – 以兆字节显示文件夹使用情况的正确方法全部内容,希望文章能够帮你解决linux – 以兆字节显示文件夹使用情况的正确方法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1037863.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存