ls コマンドでファイル サイズが異なって表示されるのはなぜですか?

ls コマンドでファイル サイズが異なって表示されるのはなぜですか?

実行しているコマンドは: ls -alFs --block-size=1

出力は次のとおりです。

4096 -rw-rw-r-- 1 dkm dkm 320 Oct 5 15:28 QRN_1570310934.charbin
4096 -rw-rw-r-- 1 dkm dkm 320 Oct 5 15:29 QRN_1570310939.charbin
4096 -rw-rw-r-- 1 dkm dkm 320 Oct 5 15:29 QRN_1570310946.charbin
8192 -rw-rw-r-- 1 dkm dkm 8192 Oct 8 11:33 QRN_1570555988.charbin
8192 -rw-rw-r-- 1 dkm dkm 8190 Oct 8 11:35 QRN_1570556100.charbin
4096 -rw-rw-r-- 1 dkm dkm 340 Oct 8 11:35 QRN_1570556140.charbin

一番左は、--block-size=1 のため、-s スイッチからのサイズ出力がバイト単位で表示されていますが、-l スイッチの出力サイズ (左から 6 番目の列) は、かなりの数のファイルで大幅に異なります。私はこれを理解しようとしていますが、どこからも明確な答えを得ることができませんでした。

私の推測では、-s スイッチはデバイス ブロックを示し、-l スイッチは実際のバイト サイズを示します。そのように見えますが、どうすれば確実にわかるのでしょうか。'ls' のマニュアル ページには、-l スイッチのサイズ出力がどのように導出されるかに関する詳細は記載されていません。

これを理解するために使用できる他のツールの提案はありますか...または、誰かが実際に知っているとさらに良いでしょう。

よろしくお願いします。

答え1

またはオプション-s--size各ファイルのディスク割り当てを出力しますが、lオプションを使用するとサイズがバイト数として出力されます。

ソース:https://www.gnu.org/software/coreutils/manual/html_node/What-information-is-listed.html#What-information-is-listed

関連情報