気になってdf -H
次のようにdf -h
言ってman df
みてください。
-h, --human-readable
print sizes in human readable format (e.g., 1K 234M 2G)
-H, --si
likewise, but use powers of 1000 not 1024
それでは、1000番目の二乗を使用する理由は何ですか?
たぶん追加の質問(または関連する質問)かもしれません。
root@host:~# df
Filesystem 1K-blocks Used Available Use% Mounted on
ブロックはK
1024ですか、それとも1000ですか?
答え1
私はこれがストレージメーカーがほぼ普遍的にSI小数点プレフィックスを使用しているためと推測します。
さらに進むマンページ(GNU仮定df
):
SIZE is an integer and optional unit (example: 10M is 10*1024*1024).
Units are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (pow‐
ers of 1000).
したがって、1Kは1024です。
他のGNUツールdd
ではエラーディスカッションいくつかの洞察力を提供します。
私は2004年にGNU ddにこの診断を追加したときにこれを念頭に置いて、1000の累乗で頭字語を使用したことを覚えています。これは、補助記憶装置が一般に測定される方法であるからである。したがって、多くのユーザーがここで1000勝を好むと予想されます。ボーレートの場合は特にそうです。実際の散文では「GiB/s」はほとんど見られません。
提出するこの機能が1997年に追加されたという事実はdf
理由ではなく、何を教えてくれるだけです。
答え2
15〜20年前に戻ると、2数学の力は他の答えで言及されたメモリブロックと一致するので意味があります。それから慣性要因に達すると、「私たちはいつもそうしてきました」が始まります。 ^2と^10の間の小さな違いは決して大きな意味にはなりません。ソフトウェアベンダーは便宜(および怠惰)のために^ 2を使用し、ドライブの製造元はボックス内でより多くの数を生産するため、^ 10を使用します。
ドライブが数百ギガバイト、次にテラバイトに達すると、その差が大きくなり、一般の消費者が目立つようになります。 30GB以上の違いは「OSオーバーヘッド」と見なすことはできません。プログラミングの数行のコードで、サポートデスクへの多数の電話を減らすことができます。はい、通常のMacユーザーは毎日dfを使用しませんが、df(またはその機能/ライブラリ/コードベース)はより高いレベルのUIプログラムで使用されます。
答え3
特定の記憶媒体が1024バイトの割り当て単位を使用している場合、ファイルがディスク上の260Kを占めるということは、260個の記憶単位を占めることを意味します。スペースが260kと報告されている場合は、253個のストレージユニット(259,072、260に丸め)を意味するのか、254個のストレージユニット(260,096バイト)を意味するのかはわかりません。このような曖昧さを避けることは、二次単位の使用を支持する良い論拠です。
しかし、ハードドライブメーカーがバイナリプレフィックスの代わりに10進数を使用し始め、個々のストレージデバイスのサイズがドライブ容量に占める割合が減少するため、バイナリプレフィックスは以前と同じ利点を持ちません。