tail head cat sleep
QR code linking to this page

Man page  — STATFS

명칭

statfs – 파일 시스템의 통계를 입수

내용

프로그램 라이브러리

Standard C Library (libc, -lc)

서식

#include <sys/param.h>
#include <sys/mount.h>

int
statfs(const char *path, struct statfs *buf);

int
fstatfs(int fd, struct statfs *buf);

해설

statfs() (은)는, mount 되고 있는 파일 시스템의 정보를 되돌립니다. path (은)는, mount 되고 있는 파일 시스템내의 임의의 파일의 패스명입니다. buf (은)는, 이하와 같이 정의 되고 있다 statfs() 의 구조체의 포인터입니다.
typedef struct fsid { int32_t val[2]; } fsid_t; /* 파일 시스템 ID 형 */

/* * 파일 시스템 통계 */

#define MFSNAMELEN 16   /* 눌을 포함한 파일 시스템명의 길이 */ #define MNAMELEN 90   /* 반환값의 용무의 버퍼의 길이 */

struct statfs { long    f_bsize;         /* 파일 시스템의 블록 사이즈 */ long    f_iosize;        /* 최적인 트랜스퍼 블록 사이즈 */ long    f_blocks;        /* 파일 시스템상의 합계 블록 사이즈 */ long    f_bfree;         /* 파일 시스템상의 이용 가능한 블록 */ long    f_bavail;        /* 슈퍼 유저 이외가 이용 가능한 블록 */ long    f_files;         /* 파일 시스템상의 합계 노드수 */ long    f_ffree;         /* 파일 시스템상의 이용 가능한 노드수 */ fsid_t  f_fsid;          /* 파일 시스템 ID 번호 */ uid_t   f_owner;         /* 파일 시스템을 mount 한 유저 */ int     f_type;          /* 파일 시스템의 타입 */ int     f_flags;         /* mount 플래그의 카피 */ long f_syncwrites;    /* mount 하고 나서의 동기 기입수 */ long f_asyncwrites;   /* mount 하고 나서의 비동기 기입수 */ char    f_fstypename[MFSNAMELEN];/* 파일 시스템 타입명 */ char    f_mntonname[MNAMELEN];   /* 마운트 포인트 */ long f_syncreads;             /* mount 이후의 동기 독해수 */ long f_asyncreads;            /* mount 이후의 비동기 독해수 */ char    f_mntfromname[MNAMELEN];        /* mount 된 파일 시스템 */ };

되돌려질 가능성이 있는 플래그는 이하대로입니다.
MNT_RDONLY 파일 시스템이 읽기 전용으로 mount 되고 있습니다. 슈퍼 유저라도 쓰기선.
MNT_NOEXEC 그 파일 시스템으로부터 파일을 실행할 수 없습니다.
MNT_NOSUID 파일의 setuid 비트와 setgid 비트가, 파일의 실행시에 받아들여지지 않습니다.
MNT_NODEV 파일 시스템의 특수 파일을 열지 않습니다.
MNT_SYNCHRONOUS
  파일 시스템에의 모든 입출력이, 동기를 취해 실행됩니다.
MNT_ASYNC 파일 시스템의 입출력이, 동기를 취해 실행되지 않습니다.
MNT_LOCAL 파일 시스템이 로컬에 상주하고 있습니다.
MNT_QUOTA 파일 시스템으로 쿼터가 유효하게 되어 있습니다.
MNT_ROOTFS 루트 파일 시스템을 확인합니다.
MNT_EXRDONLY 파일 시스템이, 읽기 전용으로 export 됩니다.
MNT_EXPORTED 파일 시스템이, 읽고 쓰기의 양쪽 모두로 export 됩니다.
MNT_DEFEXPORTED
  파일 시스템이, 읽고 쓰기의 양쪽 모두로 임의의 인터넷 호스트에 export 됩니다.
MNT_EXPORTANON 파일 시스템이, 모든 원격 접근을 익명 유저에게 MAP 합니다.
MNT_EXKERB 파일 시스템이, Kerberos uid 매핑으로 export 됩니다.

특정의 파일 시스템으로 정의되어 있지 않은 필드는, -1 (으)로 설정됩니다. fstatfs() (은)는, 기술자 fd 그리고 참조되는 오픈 파일에 대해서 같은 정보를 되돌립니다.

반환값

Upon successful completion, the value 0 is returned; otherwise the value -1 is returned and the global variable errno is set to indicate the error.

에러

statfs() (은)는, 이하 중 1 개(살) 이상이 진인 경우에 에러가 됩니다.
[ENOTDIR]
  path 의 패스의 원가요소중에 디렉토리 이외의 것이 포함되어 있습니다.
[ENAMETOOLONG]
  path 의 원가요소가 255 캐릭터를 넘고 있는지, 또는 path 전체가 1023 캐릭터를 넘고 있습니다.
[ENOENT]
  path 의 참조하는 파일이 존재하지 않습니다.
[EACCES]
  path 에는, 검색이 허가되어 있지 않은 디렉토리가 포함되어 있습니다.
[ELOOP]
  path (을)를 변환할 경우에 검출된 기호 연결이 너무 많습니다.
[EFAULT]
  buf 인가 path 하지만, 부정한 주소를 가리키고 있습니다.
[EIO] 파일 시스템에 읽고 쓰기하고 있는 동안에 입출력 에러가 발생했습니다.

fstatfs() (은)는, 이하 중 1 개(살) 이상이 진인 경우에 에러가 됩니다.
[EBADF]
  fd 하지만 유효 오픈 파일 기술자가 아닙니다.
[EFAULT]
  buf 하지만 부정한 주소를 가리키고 있습니다.
[EIO] 파일 시스템에 읽고 쓰기하고 있는 동안에 I/O (입출력) 에러가 발생했습니다.

역사

statfs() 함수는, BSD 4.4 그리고 처음 등장했습니다.

STATFS (2) May 24, 1995

tail head cat sleep
QR code linking to this page


Ben Bullock이 유닉스 매뉴얼 페이지에서 서비스에 대한 의견을 주시기 바랍니다.

Unix is a junk OS designed by a committee of PhDs.
— Dave Cutler