작업에는 파일 시스템이 포함되며 때로는 파일과 디렉터리가 존재하는지 확인해야 할 때도 있습니다. 나는 APUE 4장 파일 및 디렉토리를 결합하여 향후 문의를 용이하게 하기 위해 파일 및 디렉토리가 존재하는지 올바르게 결정하는 방법을 요약했습니다. #推荐#(추천 학습:linux 운영 및 유지 관리)#🎜🎜 ## 🎜🎜#stat 시리즈 함수#🎜🎜 ## 🎜🎜#Stat 함수를 사용하여 구조적 반환 파일에 대한 정보입니다.
stat 계열 함수에는 각각 파일 이름, 파일 설명자 및 기호 링크 파일에 해당하는 세 가지 상황이 있습니다. 통계 구조는 파일 유형, 파일 크기 등을 포함한 파일 속성을 설명합니다.자세한 통계 구조는 다음과 같습니다. struct stat {
mode_t st_mode; // file type & mode(permissions)
ino_t st_ino; // i-node number(serial number)
dev_t st_dev; // device number(filesystem)
dev_t st_rdev; // device number for specials files
nlink_t st_nlink; // number of links
uid_t st_uid; // user ID of owner
gid_t st_gid; // group ID of owner
off_t st_size; // size in bytes, for regular files
time_t st_atime; // time of last access
time_t st_mtime; // time of last modification
time_t st_ctime; // time of last file status change
long st_blksize; // best I/O block size
long st_blocks; // number of 512-byte blocks allocated
};
stat를 통해 파일 형식, 파일 크기 등의 정보를 얻을 수 있습니다. 파일 유형은 일반 파일, 디렉토리 파일, 블록 특수 파일, 문자 특수 파일, FIFO, 소켓 및 기호 링크입니다.
stat 계열 함수 오류는 -1을 반환하고 오류 코드는 errno에 저장되며 errno 값은 다음과 같습니다.
1、ENOENT 参数file_name 指定的文件不存在 2、ENOTDIR 路径中的目录存在但却非真正的目录 3、ELOOP 欲打开的文件有过多符号连接问题, 上限为16 符号连接 4、EFAULT 参数buf 为无效指针, 指向无法存在的内存空间 5、EACCESS 存取文件时被拒绝 6、ENOMEM 核心内存不足 7、ENAMETOOLONG 参数file_name 的路径名称太长
위 내용은 Linux에 디렉토리가 존재하는지 확인하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!