gpt4 book ai didi

linux - 当我们看到 kb 或 mb 时,我们如何确定一个大小是基于 1000 还是 1024

转载 作者:IT王子 更新时间:2023-10-29 00:14:02 27 4
gpt4 key购买 nike

Linux 中有很多程序会显示文件的大小,有的以 block 为单位,有的以字节为单位。但是当涉及到一些人类可读的形式时,比如 ls -sh、lvs、dd bs=size 等等,当我们看到 kb、KB、mB、MB、K 时,我们如何确定它是 1024 还是 1000 的倍数, G 等。有些像 lvs 用大写字母来区分它们,有些像 dd 用不同的字符来区分它们,但是,这些东西是否有一般规则,因为到目前为止我找不到它。谢谢。

最佳答案

如果你看man units ,您会看到两种类型的单位的描述。十进制和二进制。千字节 (KB) 和兆字节 (MB) 等十进制单位是 1000 (10^3)​​ 的倍数,而千字节 (KiB) 和兆字节 (MiB) 等二进制单位是 1024 (2^10) 的倍数。

如果显示的单位包含二进制前缀,如 KiB、MiB、GiB,您可以确定它是 1024。对于不清楚的单位,一般经验法则:

  • 硬盘大小以十进制为单位进行宣传,因为制造商喜欢让它们看起来更大。因此,存储在磁盘上和通过网络传输的文件的大小通常与此一致。
  • 内存大小以二进制单位公布
  • 任何与数据无关的东西(以 KHz 为单位的频率等)总是十进制

Ubuntu published a policy in 2010他们的单位在 Linux 发行版中似乎相当一致,尽管不能保证:

  • 将 base-10 用于:

    • 网络带宽(例如,6 Mbit/s 或 50 kB/s)
    • 磁盘大小(例如,500 GB 硬盘驱动器或 4.7 GB DVD)
  • 将 base-2 用于:

    • RAM 大小(例如,2 GiB RAM)

对于文件大小,有两种可能性:

  • 同时显示 base-10 和 base-2(按此顺序)。一个例子是 Linux 内核:“2930277168 512 字节硬件扇区:(1.50 TB/1.36 TiB)”
  • 仅显示 base-10,或让用户有机会在 base-10 和 base-2 之间做出选择(默认必须是 base-10)。1

1Kris Avi 所述在评论中,在此政策之前开发的一些命令行工具可能仅使用以 2 为底的值但指示十进制单位,并且可能没有更改以避免破坏现有的解析脚本。

关于linux - 当我们看到 kb 或 mb 时,我们如何确定一个大小是基于 1000 还是 1024,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17872257/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com