유닉스

디렉토리 관련 함수

2022. 10. 7. 15:14

., ..은 모든 디렉토리에 항상 존재하고 디렉토리 생성 시 자동 포함됨

 

  • mkdir - 디렉토리 생성 mkdir("han", mode)
  • rmdir - 디렉토리 삭제 rmdir("han")
  • rename - 디렉토리명 변경 rename("old", "newName")
  • getcwd - 현재 작업 디렉토리 위치 getcwd(char *buf, size_t size);
    • cwd = getswd(NULL, BUFSIZ); 또는 getswd(wd, BUFSIZ) 로 사용 가능
      전자는 cwd에 경로 저장, 후자는 wd에 경로 저장됨
    • 명령은 pwd
  • chdir - 디렉토리 이동 chdir("path")
  • opendir - 디렉토리 열기
  • close dir - 디렉토리 닫기
  • readdir - 디렉토리 정보 읽기
    • struct dirent
      • ino_t d_ino;
      • off_t d_off;
      • unsigned short d_reclen; (record length)
      • char d_name[1];
#include <dirent.h>
#include <stdlib.h>
#include <stdio.h>
int main(){
DIR *dp;
struct dirent *dent;
struct stat sbuf;
char path[BUFSIZ];
dp = opendir("han");
while((dent = readdir(dp))){
if(dent->d_name[0]=='.') continue;
sprintf(path, "han/%s",dent->d_name); //디렉토리 항목 읽어서 path에 저장
stat(path, &sbuf);
printf("name: %s\n", dent->d_name);
printf("Inode (dirent) : %d\n",(int)dent->d_ino);
printf("Inode (stat) : %d\n",(int)sbuf.st_ino);
printf("mode : %o\n", (unsigned int)sbuf.st_mode);
printf("Uid: %d\n",(int)sbuf.st_uid);
}
closedir(dp);
}
  • 디렉토리 오프셋
    • telldir(DIR *dirp)  - 현재 위치 알려줌 (리눅스에서는 잘 안됨)
    • seekdir(DIR *dirp, long loc)  - 디렉토리 오프셋을 지정한 위치로 이동시킴
    • rewinddir(DIR *dirp)  - 디렉토리 오프셋을 0으로 이동시킴
'유닉스' 카테고리의 다른 글
  • 프로세스 정보
  • 시스템 정보
  • 링크 파일 생성
  • 파일 접근 권한 제어
hahihi
hahihi
히호 노트hahihi 님의 블로그입니다.
hahihi
히호 노트
hahihi
전체
오늘
어제
  • 분류 전체보기 (224)
    • 알고리즘 (114)
      • 정렬 (3)
      • 그리디 (9)
      • 구현 (35)
      • 이분 탐색 (4)
      • 탐색 (2)
      • 동적 계획법 (DP) (11)
      • DFS BSF (29)
      • 최단 경로 (5)
      • 그래프 (4)
      • 주의할 점 (4)
      • 트리 (3)
    • spring (34)
      • JPA (12)
    • DevOps (10)
      • Docker (3)
    • java (15)
      • 이펙티브자바 (4)
      • Clean Code (4)
    • git (9)
    • DB (3)
    • 앱개발 (1)
    • 유닉스 (26)
    • 네트워크 (3)
      • IT 엔지니어를 위한 네트워크 입문 (3)
    • 유니티 (1)
    • 후기 (4)
    • 누누코코 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • SWEA
  • 그리디 알고리즘
  • 13265
  • spring
  • 도넛과 막대 그래프
  • Docker
  • allowPublicKeyRetrieval
  • 7465
  • 숫자 조각
  • 입출력
  • 공통 response
  • 백준
  • 이코테
  • JWT
  • BaseEntity
  • 4193
  • 프로그래머스
  • dp
  • 팀 결성
  • 1868

최근 댓글

최근 글

hELLO · Designed By 정상우.
hahihi
디렉토리 관련 함수
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.