Computer Security

#14 디렉토리 다루기 본문

리눅스 시스템 프로그래밍

#14 디렉토리 다루기

쿠리 Kuri 2022. 9. 19. 18:30
반응형

디렉토리 탐색 API

DIR *opendir(const char *name);

파라미터

- name : 파일 경로

 

 

 

 

반환 값

- 성공 시 열린 디렉토리 스트림 포인터

 

- 실패 시 NULL 포인터

 

 

 

 

 

 


디렉토리를 오픈 후, 디렉토리 내에 있는 파일들을 차례로 탐색하는 API (readdir)

struct dirent *readdir(DIR *dirp);

파라미터

- dirp : 디렉토리 스트림 포인터

 

 

 

 

반환 값

- 성공 시 디렉토리 엔트리 포인터

 

- 실패 시 NULL 포인터

 

 

 

 

 

 

 


struct dirent

struct dirent {
   ino_t      d_ino;
   off_t      d_off;   /* XXX */
   
   unsigned short d_reclen;
   unsigned char  d_type;
   char           d_name[256];
};

d_ino  : inode 값

 

d_off   : 내부적으로 탐색하는 offset

 

d_reclen : 레코드랭스

 

d_type : 탐색한 파일들이 어떤 타입의 파일인지 나타내는 파일

 

d_name : 파일의 이름

 

 

 

 

 

 


리눅스의 파일 종류

 

 

 

 

 

 


디렉토리 탐색이 끝난 뒤, 디렉토리 닫기 API (closedir)

int closedir(DIR *dirp);

파라미터

 

- dirp : 디렉토리 스트림 포인터

 

 

 

 

 

반환 값

 

- 성공 시 0

 

- 실패 시 -1

반응형

'리눅스 시스템 프로그래밍' 카테고리의 다른 글

#16 Memory map  (2) 2022.09.21
#15 디렉토리 다루기 (실습)  (0) 2022.09.20
#13 파일 속성(실습)  (0) 2022.09.18
#12 파일 속성  (0) 2022.09.17
#11 하드링크, 소프트 링크(실습)  (0) 2022.09.16
Comments