コマンドlsblk
で134Gに表示されるディスクがありますが、lsblk -b
でより大きな数字(約10G以上)
lsblkとlsblk -bでサイズが異なるのはなぜですか
#lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 134G 0 disk
[...]
# lsblk -b
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 147035272690 0 disk
[...]
実際、違いはそれほど大きくありません。ギガバイト、メガバイトなどは1000ではなく1024の倍数であることに注意してください。したがって、メガバイトは1024です2 ギガバイトは1024です3。
多くのプログラミング言語は、便利な シフト演算子 を提供します。これにより、メガバイト、ギガバイト、キロバイト、その他の-バイト間で変換できます。ここでは、Perlを使用して、2つの値が実際にそれほど変わらないことがわかります。
## How many bytes is 134G?
$ Perl -le 'print 134<<30'
143881404416
## How many gigabytes is 147035272690 bytes?
$ Perl -le 'print 147035272690>>30'
136
数字の間にはまだ2Gの不一致がありますが、10Gに近いところはありません。私はその違いがどこから来たのか本当に知りません。 (おそらく floor 関数を使用して)丸めステップが関係していると思われますが、詳細はわかりません。
あなたが思うように多くの違いはありません。
1 GB = 1,073,741,824バイト
次に、134 GBをバイトに変換します。
134GB =(134)x(1,073,741,824)= 143881404416バイト