보기 방법: 1. stat 시리즈 함수를 사용합니다. 파일과 관련된 구조 정보를 반환합니다. 2. "access (파일 디렉터리 경로, F_OK)" 구문을 사용합니다. oepndir 함수(존재하는 경우) 포인터를 반환하고, 존재하지 않으면 NULL을 반환합니다.
이 튜토리얼의 운영 환경: linux5.9.8 시스템, Dell G3 컴퓨터.
Linux는 파일 디렉터리가 있는지 확인합니다
1.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 };
통계를 통해 파일 형식, 파일 크기 등의 정보를 얻을 수 있습니다. 파일 유형에는 일반 파일, 디렉토리 파일, 블록 특수 파일, 문자 특수 파일, FIFO, 소켓 및 기호 링크가 포함됩니다. stat 일련의 함수를 사용하여 파일 또는 디렉터리가 존재하는지 확인하려면 stat 함수를 실행할 때 파일이 존재하는 경우 해당 파일이 일반 파일인지 디렉터리 파일인지 추가로 확인해야 합니다.
stat 계열 함수는 오류 시 -1을 반환합니다. 오류 코드는 errno에 저장됩니다. errno 값은 다음과 같습니다.
ENOENT 参数file_name 指定的文件不存在 ENOTDIR 路径中的目录存在但却非真正的目录 ELOOP 欲打开的文件有过多符号连接问题, 上限为16 符号连接 EFAULT 参数buf 为无效指针, 指向无法存在的内存空间 EACCESS 存取文件时被拒绝 ENOMEM 核心内存不足 ENAMETOOLONG 参数file_name 的路径名称太长
2 액세스 기능은 실제 사용자 ID를 기준으로 액세스 권한을 테스트합니다. 그리고 실제 그룹. 함수 프로토타입은 다음과 같습니다.
#include <unistd.h> int access(const char *pathname, int mode);
3. oepndir 함수
opendir 함수는 파일 디렉터리를 열고 성공 시 포인터를 반환하는 데 사용됩니다. 오류 시 NULL입니다. 구현은 다음과 같습니다:
관련 권장 사항: "Linux 비디오 튜토리얼
"위 내용은 Linux에 파일 디렉터리가 있는지 확인하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!