linux实例之KiB和KB之间的关系

叶sir学编程 2024-06-18 17:52:42

在linux系统中,当我们使用ls -lh或者du -hs命令查看文件大小时,显示的单位通常根据文件的实际大小来显示,比如M,K等单位。然而当用户使用fallocate创建文件时,明明创建的10kb大小的文件,但是实际只有只有9.8K,如图,这是啥原因呢?

图1

在linux系统中,KB全称为KiB,是以1024作为进制单位的,即1KiB=1024字节,是计算机中常用的存储容量的单位;而KB是国际单位制前缀,是以1000作为进制单位的,即1KB=1000字节;

因此linux系统为了方便管理,统一使用1024作为进制单位,显示KIB是也简写成了K;

不止是KB,其他比如M和G的换算单位也是使用1024并且简写。即:

1KIB=1024Byte

1MiB=1024KIB

1GiB=1024MiB

那么如何创建一个大小是以1000为进制单位的文件呢?以fallocate命令为例,其他命令需根据实际的参数情况创建。

fallocate使用-l参数可以创建指定大小的文件,且使用的单位和对应使用的进制单位为:

k、K、m、M使用的1024进制单位,即创建的文件大小和ls -lh查看的一致;

kb、KB、mb、MB使用的1000进制单位,即ls -lh查看的大小比实际的要小;

图2

0 阅读:0

叶sir学编程

简介:感谢大家的关注