ファイルサイズはどこから来るか。つまり、lsとcpはファイルサイズをどのように知ることができますか?

ファイルサイズはどこから来るか。つまり、lsとcpはファイルサイズをどのように知ることができますか?

最近、私の500GB SSDのファイルサイズは33Pバイトというファイルレポートを受け取りました。ここ。これが完了すると、lsスペースcpが不足しているというメッセージが表示されます。

VFSに関する私の限られた知識と理解のために、(SATA)ドライバがディスクと通信し、inodeに到達するまでVFSを介して移動すると信じています(セクション8.6のinodeの説明に基づいて仮定)。ここ)その後、カーネルは何らかの方法でそれをユーザースペースに渡します。

ls最後に、サイズを知る方法も知りたいのですが、ファイルが間違ったcpサイズを報告する方法、後でこのようなことが再び発生した場合、どこで答えを見つけることができるのかを知りたいです。

ベストアンサー1

strace -v -e trace=lstat ls -l file
[...]
lstat("tw.txt", {[...] st_size=1103, [...]

おすすめ記事