(鉴于这是 ASKUBUNTU 而不是漫无目的的博客,问题放在最后,我只是在开始时奠定基础,所以请耐心听我说)
做IT,慢慢就得了强迫症,数字要正确,画画要端正。
在 Windows 中,当我想要 1G 的分区空间时,我会告诉它使用 1024MB,结果就是 1000MB。在 Ubuntu 中,你输入 1000MB,结果就是 1000MB。
问题是,我是在 Windows 下长大的,因此我坚信 1024 字节等于 1000 字节,因为二进制是这样的。你知道,2、4、8、16、32、64 等等。
我才注意到,这么多年来,微软的某些员工一直在告诉 Windows 显示错误的术语。
当你在 Windows 中单击硬盘时,假设它是 320 GB,它将在 Windows 中显示为 305GB。多年来,IT 文凭高于我的人都说:“哦,那只是系统开销,所以它看起来更小”
我刚刚才意识到这实际上是错误的。
天知道 Windows 使用了多久了(我使用过 XP、Vista、7 甚至 8.1),实际上使用的是兆字节 (Mebibytes) 和吉字节 (Gibibytes),但显示的却是错误的术语 MB 和 GB,而正确的应该是 MiB 和 GiB。
320 千兆字节 = 305.17578125 吉比字节 <-- 这是 Windows 所显示的。
当我第一次使用 Ubuntu 14.04 时,我创建了一个 1024MB 的交换分区,后来发现 Ubuntu 实际上给了我 1024MB 的交换空间,而我的强迫症让我想要 1GB。
我重新进行了分区,创建了 1GB 的交换空间,Ubuntu 回复说我有 953.67431640625 MiB 的交换空间,这是正确的大小和期限。
我的问题是,有多少使用 Ubuntu 的人真正知道这一点?
我查阅了多年来的文章,其中一个例子是如何使用 ramfs 和 tmpfs 命令制作 ramdisk。
互联网上大多数(如果不是全部)文章,尤其是专门介绍 Linux 发行版的文章,都会使用诸如“mount -t tmpfs -o size=512m tmpfs /mnt/ramdisk”这样的术语
该命令中的“512m”实际上是否等于 500MB,或者 Windows 多年来的错误已经毁掉了一切,而现在每个人都习惯使用错误的术语?
答案1
从运行结果来看man mount
::tmpfs 挂载选项的大小(size、nr_blocks 和 nr_inodes)接受后缀 k、m 或 g,分别表示 Ki、Mi、Gi(二进制千、兆和吉),并且可以在重新挂载时进行更改。二进制是指以 2 为基数的单位,而不是以 10 为基数的单位,例如 1 Ki = 1 KiB = 1,024 字节。
关于 Ubuntu 中哪些应用程序使用哪些文件大小单位的更完整解释请参阅以下问题:Ubuntu 上的应用程序使用什么文件大小单位?有关 Ubuntu 单位政策的更多信息,请参阅Ubuntu 单位政策 wiki。