デフォルトでは、dfの出力が人間が読める形式ではないのはなぜですか? [閉鎖]

デフォルトでは、dfの出力が人間が読める形式ではないのはなぜですか? [閉鎖]

私は、開発者は人々が19GBの代わりに19478204を読むのが好きだと思いますか?

以前のシステムにはディスク容量があまりありませんでしたので、すべての数値を計算できましたか?

答え1

人間が読める数字を出力するよりもバイト数を出力する方が正確です。私は両方を使用していますが、データをコピーしたりファイルサイズを確認したりするときに人間が読めない読書は必須です。

一人の合理的な基本的な行動が他の人に絶え間ない迷惑を与える可能性があるため、実際に「正しい」または「はい」という答えはありません。ただし、df人間が読める数字で出力するのは簡単です。

$ echo "alias df='df -h'" >> ~/.bashrc

dfデフォルトモードで使用するには、\次のようにエスケープします。

$ \df

答え2

ただ推測に過ぎませんが、ほとんどのUnixツールはパイプライン作業用に構築されています。この観点から見ると、バイト数が最も役に立つ可能性があるため、合理的なデフォルトです。

答え3

長い話を短く:ハードドライブのブロック数は(ほとんど)512または2の重なりであるためです。

df -k出力(GNU dfバージョンのデフォルト値)を1024で除算すると、実際には次のような結果がdf -h得られます。読書からウィキペディア私のUbuntuシステムのマニュアルページだけでなく、dfUnix System Vが常に512ブロックサイズを使用していたため、歴史的な理由があるようです。実際、ディスクセクタ容量は512MBです。したがって、これはパーティションが占めるディスク領域のセクタ数を知るのに役立ちます。

一方、1024ブロックは私たちが理解している1000バイトに近いので、GNUはおそらくデフォルトでdfをその値として出力します。しかし、人間は10の累乗であるバイト単位で考えるのに対し、ディスクはセクタ単位で作成され、コンピュータは2^xの累乗であると考えます。

関連情報