在 Linux 系统中,磁盘大小的单位有以下几种常见的表示方式:
用途:Linux 内核和部分工具(如
fdisk
、lsblk
)默认使用 1024 为基数。
用途:硬盘厂商常用十进制单位标称容量(如 1TB 硬盘实际约 931GiB)。
df -h
:自动选择适合的单位(如 K
/M
/G
),默认以 1024 为基数。df -H
:强制使用 1000 为基数(符合 SI 标准)。ls -lh
:显示文件大小时以 1024 为基数。fdisk -l
:通常以 1024 为基数显示分区大小。bash
blockdev --getbsz /dev/sdX # 查看块设备块大小
stat -fc %s . # 查看文件系统块大小
1TB = 10^12 Bytes
,而 931GiB = 931 × 1024^3 Bytes
)。bash
df -h # 显示 1G = 1024M
df -H # 显示 1G = 1000M
bash
echo "scale=2; 1024^3 / 1000^3" | bc # 输出 1GiB 对应的 GB 数(1.07)
numfmt
命令(GNU coreutils):bash
echo "1073741824" | numfmt --to=iec # 转换为 1G
echo "1G" | numfmt --from=iec --to=si # 转换为 1.07G (SI)
KiB
(二进制)和 KB
(十进制),避免容量计算误差。如果有具体场景(如分区调整、存储监控),可以进一步分析工具的输出逻辑!