fstat 예제

fstat – 열린 파일 포인터를 사용하여 파일에 대한 정보를 가져옵니다 stat(), fstat(), lstat(), 및 fstatat() 함수는 실패합니다: 통계(), fstat(및 lstat(), 표준(7)을 참조하십시오. mknod () 함수에 대해 설명된 대로 파일의 모드입니다. mknod(2) 수동 페이지에 설명된 모드 외에도 파일이 소켓인 경우 S_IFSOCK, 파일이 문인 경우 S_IFSOCK, 파일이 이벤트 포트인 경우 S_IFPORT, 파일이 기호 링크인 경우 S_IFLNK가 될 수 있습니다. S_IFLNK는 AT_SYMLINK_NOFOLLOW 플래그가 설정된 경우 lstat() 또는 fstat()로 반환할 수 있습니다. 리눅스에서 lstat()는 일반적으로 자동 탑재 장치 동작을 트리거하지 않지만 stat() 는 (하지만 fstatat(2)참조)합니다. 다음 예제 조각은 디렉터리에서 각 항목에 대한 상태 정보를 가져옵니다. stat() 함수에 대한 호출은 statbuf가 가리키는 통계 구조에 파일 정보를 저장합니다. stat() 호출 다음에 있는 줄은 프로그램 사용자에게 프레젠테이션을 위해 통계 구조의 필드를 포맷합니다. fildes 인수는 유효한 오픈 파일 설명자가 아닙니다.

fstatat()에 대한 fildes 인수는 AT_FDCWD의 유효한 값을 가질 수도 있습니다. 다음 예제에서는 /home/cnd/mod1라는 파일에 대한 파일 상태 정보를 가져오는 방법을 보여 주며 있습니다. 구조 변수 버퍼는 통계 구조에 대해 정의됩니다. fstat는 파일 설명자에 따라 파일에 대한 정보를 결정하는 데 사용되는 시스템 호출입니다. 다음 예제에서는 /modules/pass1라는 기호 링크에 대한 상태 정보를 가져오는 방법을 보여 주며 있습니다. 구조 변수 버퍼는 통계 구조에 대해 정의됩니다. 경로 인수가 기호 링크(/home/cnd/mod1)로 가리키는 파일 이름을 지정한 경우 함수호출 결과는 stat() 함수에 대한 호출에서 반환된 결과와 동일합니다. 추가 또는 대체 파일 액세스 제어 메커니즘을 제공하는 구현은 구현 정의 조건하에서 fstat()가 실패할 수 있습니다. st_mtime 필드는 mknod(2), truncate(2), utime(2) 및 쓰기(2) (0바이트 이상)와 같은 파일 수정에 의해 변경됩니다. 또한 디렉터리 st_mtime은 해당 디렉터리에서 파일을 만들거나 삭제하여 변경됩니다.

st_mtime 필드는 소유자, 그룹, 하드 링크 수 또는 모드의 변경사항에 대해 변경되지 않습니다. fstat() 시스템 호출을 사용하는 코드의 예는 다음과 같습니다. fstat()는 stat()와 동일하지만, 통계-ed파일은 파일 설명자 fd에 의해 지정된다는 점을 제외하면. 통계(), fstat(및 lstat() 함수에는 64비트 파일 오프셋에 대한 전환 인터페이스가 있습니다. lf64(7)를 참조하십시오. fstatat() 함수는 통계(), lstat(및 fstat() 함수와 유사한 파일 특성을 가져옵니다. 경로 인수가 상대 경로인 경우 현재 작업 디렉터리대신 fildes 인수를 기준으로 해결됩니다. 경로가 절대인 경우 fildes 인수는 사용되지 않습니다. fildes 인수에 AT_FDCWD라는 특수 값이 있는 경우 상대 경로는 현재 작업 디렉터리에서 확인됩니다. AT_SYMLINK_NOFOLLOW가 플래그 인수에 설정된 경우 함수는 lstat()처럼 작동하며 기호 링크를 자동으로 따르지 않습니다.

fsattr (7)를 참조하십시오. _AT_TRIGGER가 플래그 인수에서 설정되고 vnode가 트리거 마운트 지점인 경우 마운트가 수행되고 함수가 마운트된 파일 시스템의 루트 특성을 반환합니다.