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. )

관련 정보