브래의 슬기로운 코딩 생활
운영체제 14주차 정리 - 2 본문
파일 시스템 - 파일 처리 함수 2
작업 경로 추출
현재 작업 경로 추출
1. 함수 : getcwd(), getwd()
• 현재 작업중인 경로의 위치를 추출
• getwd의 경우 내부 정적 공간을 사용(re-entrance주의)
인자:
– *buf : 현재 경로 저장
– size : buf의 크기
결과 값:
– 성공 : 저장된 데이터의 위치(buf의 포인터)
– 실패 : NULL
2. 함수 : get_current_dir_name()
• 현재 작업중인 경로 추출(getcwd, getwd와 동일)
• 이 함수의 호출은 내부에서 동적 메모리 할당이 이루어짐(malloc() 함수 호출)
• 사용 후 반드시 메모리 환원을 해줘야 함(free() 함수 호출)
작업 경로 전환
현재 작업 경로 전환
1. 함수 : chdir()
• 현재 작업중인 경로를 이동
인자:
– *path : 이동하고자 할 경로
결과 값:
– 성공 : 0
– 실패 : -1
2. 함수 : fchdir()
• chdir() 함수와 동일한 기능을 수행
인자:
– fd : 파일 기술자
결과 : chdir() 함수와 동일
디렉토리 접근
디렉토리 열기
1. 함수 : opendir() & fopendir()
• 디렉토리 스트림 열기(접근)
인자:
– *name : 접근할 디렉토리 이름(또는 경로)
– fd : open()에 의해 접근된 디렉토리의 파일 기술자
결과 값:
– 성공 : 디렉토리 포인터
– 실패 : NULL
2. 함수 : closedir()
• 디렉토리 닫기
인자 :
– *dirp : 디렉토리 포인터
결과 값:
– 성공 : 0
– 실패 : -1
디렉토리 열기
1. 함수 : opendir() & fopendir()
• 디렉토리 스트림 열기(접근)
인자:
– *name : 접근할 디렉토리 이름(또는 경로)
– fd : open()에 의해 접근된 디렉토리의 파일 기술자
결과 값:
– 성공 : 디렉토리 포인터
– 실패 : NULL
2. 함수 : closedir()
• 디렉토리 닫기
인자 :
– *dirp : 디렉토리 포인터
결과 값:
– 성공 : 0
– 실패 : -1
디렉토리내 엔트리 추출
1. 함수 : readdir()
• 파일 리스트를 출력
• 현재 접근 오프셋(offset)에 해당하는 디렉토리의 엔트리(entry) 정보를 반환
• 현재 오프셋의 값의 추출은 telldir() 함수를 이용
• 오프셋 값의 변경은 seekdir() 함수를 이용
인자:
• *dirp : 읽을 디렉토리 포인터
결과 값:
• 성공 : 디렉토리 엔트리 정보
• 실패 : NULL
디렉토리 관리
디렉토리 생성
함수: mkdir()
• 지정한 이름의 디렉토리를 생성
인자:
– *pathname: 생성한 디렉토리명
– mode : 접근 권한
결과 값:
– 성공 : 0
– 실패 : -1
디렉토리 변경
함수: rename()
• 지정한 이름의 디렉토리를 새로운 이름으로 변경
인자:
– *oldpath : 디렉토리 원본
– *newpath : 새로운 이름
결과 값:
– 성공 : 0
– 실패 : -1
디렉토리 삭제
함수: rmdir()
• 지정한 이름의 디렉토리를 삭제
인자:
• *pathname: 삭제할 디렉터리명
결과 값:
• 성공 : 0
• 실패 : -1
'2-1 > 운영체제' 카테고리의 다른 글
운영체제 기말고사 힌트 정리 (2) | 2023.06.05 |
---|---|
운영체제 14주차 정리 - 1 (0) | 2023.06.02 |
운영체제 13주차 정리 - 3 (0) | 2023.05.27 |
운영체제 13주차 정리 - 2 (0) | 2023.05.27 |
운영체제 13주차 정리 - 1 (0) | 2023.05.26 |