当我们看到kb或mb时,我们如何确定尺寸是基于1000还是1024

dsp*_*pjm 9 linux size storage metrics disk

Linux中有许多程序可以显示文件的大小,其中一些以块为单位显示,有些以字节为单位.但是当谈到一些人类可读的形式,比如ls -sh,lvs,dd bs = size等等,当我们看到kb,KB,mB,MB,K时,我们如何判断它是1024还是1000的倍数?有些人将它们与像lvs这样的大写字母区分开来,有些像dd这样有不同的字符,但是,这些东西是否有一般规则,因为到目前为止我找不到它.谢谢.

Dan*_*dis 6

如果你看人单位,你会看到两种单位的描述.十进制和二进制.像Kilobyte(KB)和Megabyte(MB)这样的十进制单位是1000(10 ^ 3)的倍数,而像Kibibyte(KiB)和Mebibyte(MiB)这样的二进制单位是1024(2 ^ 10)的倍数.

如果显示的单位包含像KiB,MiB,GiB这样的二进制前缀,则可以确定它是1024.对于不清楚的单位,一般的拇指规则:

  • 硬盘尺寸以十进制单位进行广告宣传,因为制造商希望它们看起来更大.因此,存储在磁盘上并通过网络传输的文件的大小通常与此一致.
  • 内存大小以二进制单位公布
  • 任何与数据无关的事件(频率以KHz为单位)总是十进制的

Ubuntu 在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).

  • 我知道距离最初的回答已经过去了很长时间,但我个人认为 Ubuntu 政策在文件大小方面弄错了,或者至少将其默认为以 10 为基数。有很多应用程序使用旧的 Windows 格式。我认为更有效的方法是修复演示文稿,但现在似乎更加混乱。就命令行工具而言,大多数使用旧格式,这种格式在当时由于某种原因并不那么令人困惑,但现在要感谢 Ubuntu 针对 GUI 应用程序的政策。可能是因为它们来自政策制定前的时间,并且使用了错误的符号以 2 为基数。 (2认同)