2010-12-03 2 views
2

다음 명령을 호출하고 출력을 읽는 중 df -F ufs -o i입니다. 처음에는 문제가 없었지만,보고 된 이유 때문에 여기에서 실패하기 시작했습니다. http://wesunsolve.net/bugid/id/6795242.Solaris/Unix에서 파일 시스템의 inode 수를 얻는 방법은 무엇입니까?

위의 링크에서 제안 된 해결책이 효과가 있을지 모르지만 추악하고 영구 솔루션을 원합니다. 솔라리스/유닉스에서 cpi를 찾으려고한다면, 파일 시스템이 주어진다면 inode의 총 수와 사용 가능한 수를 줄 수 있습니다.

샘플/예제가 크게 감사드립니다.

답변

3

statvfs 시스템 호출은 총 inode 수와 사용 가능한 inode 수를 비롯한 파일 시스템 통계를 검색하는 데 사용할 수 있습니다. 시스템 호출을 사용하여 statvfs 구조를 검색 한 다음 f_filesf_ffree 필드를 검사하여 inode 수와 사용 가능한 inode 수를 각각 확인합니다.

예 :

#include <statvfs.h> 

struct statvfs buffer; 
int   status; 
fsfilcnt_t  total_inodes; 
fsfilcnt_t  free_inodes; 
... 
status = statvfs("/home/betaylor/file_in_filesystem", &buffer); 

total_inodes = buffer.f_files; 
free_inodes = buffer.f_ffree; 
... 
+0

답장을 보내고 예제를 작성해 주셔서 감사합니다. :) –

관련 문제