du コマンドは st_blocks とは異なる結果を表示します。

du コマンドは st_blocks とは異なる結果を表示します。

私はこれをCとして実装しており、du -aそのためにこの関数を使用しています。stat問題は、私が使用した結果がst_blocksコマンド自体を使用したときの結果の2倍であることです。これは意味がありますか?それとも私が何か間違っているのでしょうか?

ベストアンサー1

stat512バイトブロックとして計算さst_blocksれますが、duデフォルトでは1024バイトのチャンクとして計算されます(ほとんどのLinuxディストリビューションで)stat

POSIXduまた、512バイトのチャンクも計算します。duこれを設定すると、GNUはその規格に従いますPOSIXLY_CORRECT。 )

おすすめ記事