> 운영 및 유지보수 > 리눅스 운영 및 유지 관리 > Linux에 디렉토리가 존재하는지 확인하는 방법

Linux에 디렉토리가 존재하는지 확인하는 방법

(*-*)浩
풀어 주다: 2019-11-06 11:31:56
원래의
5209명이 탐색했습니다.

Linux에 디렉토리가 존재하는지 확인하는 방법

작업에는 파일 시스템이 포함되며 때로는 파일과 디렉터리가 존재하는지 확인해야 할 때도 있습니다. 나는 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 일련의 함수를 사용하여 파일 또는 디렉터리가 존재하는지 확인하려면 stat 함수를 실행할 때 파일이 존재하는 경우 해당 파일이 일반 파일인지 디렉터리 파일인지 추가로 확인해야 합니다. .

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿