stat
파일명으로 파일 정보 검색
#include <fcntl.h>
#include <sys/types.h>
#include <sys/stat.h>
int stat(const char *restrict path, struct stat *buf);
int main(){
struct stat buf;
stat("파일명", &buf);
printf("Inode = %d\n",(int)buf.st_mode);
}
- st_dev : inode가 저장되어 있는 장치의 장치 번호
- st_ino : inode 번호 %d
- st_mode : 파일 형식, 접근 권한 %o
- st_nlink : 하드 링크 개수 %d
- st_uid : 파일 소유자의 UID %d
- st_gid : 파일 소유 그룹의 GID %d
- st_rdev : 장치 파일일 경우 주 장치 번호, 부 장치 번호 %d
- st_atime : 마지막으로 파일 읽거나 실행한 시각 (1970년 1월 1일 이후의 시간을 초 단위로 저장) %d
- st_mtime : 마지막으로 파일 내용 변경(쓰기)한 시각 %d
- st_ctime : 마지막으로 inode 내용 변경한 시각 %d
- st_blksize : 파일 내용 입출력 시 사용하는 버퍼 크기 %d
- st_blocks : 파일을 512 바이트씩 블록으로 나눈 개수 %d
- st_fstype : 파일 시스템 종류 정보 %s
fstat
현재 열려 있는 파일의 파일 기술자를 인자로 받아 파일 정보 검색
-> 먼저 open 해줘야 함
#include <sys/types.h>
#include <sys/stat.h>
int fstat(int fd, struct stat *buf);
int main(){
int fd;
struct stat buf;
fstat(fd, &buf);
printf("Inode = %d\n",(int)buf.st_ino);
}