Unix에서 디렉터리 존재 확인: stat() 및 lstat() 시스템 호출 활용
특정 디렉터리가 존재하는지 확인하는 것이 일반적인 작업입니다. 유닉스 프로그래밍에서. opendir()과 같은 함수는 오류 처리를 통해 디렉터리 존재를 나타낼 수 있지만 단순히 존재 여부를 확인하는 데는 이상적인 접근 방식이 아닐 수 있습니다. 이 문서에서는 stat() 및 lstat() 시스템 호출을 사용하여 이 작업을 수행하는 효율적인 방법을 제시합니다.
stat() 및 lstat()
stat() 및 lstat() 함수는 경로 이름을 기반으로 파일의 존재 및 유형에 대한 귀중한 정보를 제공합니다. opendir()과 달리 이러한 함수는 파일을 열지 않고 해당 속성에 대한 데이터를 수집합니다. stat()와 lstat()의 주요 차이점은 기호 링크를 처리하는 방법에 있습니다.
파일이 디렉터리인지 확인하려면 S_ISDIR() 매크로는 stat() 또는 lstat()와 함께 사용됩니다. 다음 코드 조각은 그 사용법을 보여줍니다.
#include <sys/stat.h> struct stat sb; if (stat(pathname, &sb) == 0 && S_ISDIR(sb.st_mode)) { // Directory exists and is accessible }
추가 파일 형식 검사
디렉터리 외에도 특정 S_IS* 매크로를 사용하여 다양한 다른 파일 형식을 확인할 수 있습니다. 전체 목록은 다음과 같습니다.
이러한 매크로를 이해하면 Unix 프로그램에서 다양한 파일 형식 검사가 가능합니다.
위 내용은 stat() 및 lstat()를 사용하여 Unix에 디렉터리가 있는지 확인하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!