サイズが異なるだけで、すべて正しいです。
ls
ファイルのサイズを表示します (ファイルを開いて読み取ると、取得できるバイト数です)du
実際のディスク使用量を示します。これは、ホールによりファイル サイズよりも小さくなる可能性がありますsize
ファイルのサイズに直接関係のないオブジェクト/実行可能ファイルのランタイム イメージのサイズを示します (bss はファイルのサイズに関係なくファイル内のバイトを使用しません。ファイルにはランタイム イメージの一部ではないデバッグ情報が含まれる場合があります)。など)
動的メモリ割り当てを除いて、実行可能ファイルがどれだけの RAM/ROM を使用するかを知りたい場合は、size
必要な情報を提供します。