ext4 시스템에서 파일 크기 분포 그래프를 만들려고 합니다. 나는 어떻게든 내 컴퓨터에서 이 정보를 긁어내는 스크립트를 작성하려고 합니다. 디렉토리 구조에서 파일이 어디에 저장되어 있는지는 중요하지 않으며 각 파일이 차지하는 공간만 중요합니다. 나는 파일 크기가 inode 메타데이터에 저장된다는 것을 알고 있으며, 그러한 것이 존재한다면 inode 테이블을 읽는 것이 매우 빠를 수 있습니다. 파일 크기에 액세스하거나 inode 테이블에서 직접 읽는 C API를 아는 사람이 있습니까? inode 테이블이 어디에 저장되어 있는지 아는 사람이 있나요?
답변1
C API를 원한다면 nftw
GNU 파일 트리 탐색인 GNU로 끝납니다. 평범한 오래된 데이터를 사용하도록 자신을 속이지 마십시오 ftw
. 부정확한 데이터를 얻게 될 것입니다. .struct stat
nftw
"파일별" 기능을 사용하여 파일 크기를 버킷에 넣거나 파일 크기를 인쇄하고 다른 방법으로 숫자를 버킷에 넣을 수 있습니다.